Code Monkey home page Code Monkey logo

Comments (8)

hsbt avatar hsbt commented on July 21, 2024

@stomar Good catch... I missed it version before Ruby 2.5.0-rc1. I'm going to bump it version to 2.5.0 for final release.

from csv.

stevendaniels avatar stevendaniels commented on July 21, 2024

@hsbt, @stomar - Based on the feature issue on ruby-lang I assumed that the CSV gem version would be independent of the Ruby version. Since the development of the two are independent, does it make sense to keep them the same?

This note in particular led me to believe that CSV/Ruby versioning would be separate:

BTW there should be process in place which ensures, that the libraries are properly versioned, i.e. if something is changed, it cannot have the same version as already released library (see #7761 and #7762).

Thoughts?

from csv.

kou avatar kou commented on July 21, 2024

Yes. You're right.

from csv.

stomar avatar stomar commented on July 21, 2024

@stevendaniels I don't think the gem and Ruby versions should or can be kept the same. I only wanted to point out that CSV::VERSION and gemspec version did not match, which IMO they should. I have no idea what the "correct" version of CSV should be.

from csv.

aprescott avatar aprescott commented on July 21, 2024

I came into this issue as part of diagnosing a change to CSV.generate, described at https://bugs.ruby-lang.org/issues/9988.

In short it looks like CSV.generate changed functionality between Ruby 2.4.4 and 2.5.0, even though CSV::VERSION remains 2.4.8 between the two versions. I encountered this during a Ruby upgrade which broke some tests.

Before:

RUBY_VERSION
# => "2.4.4"
require "csv"
# => true
CSV::VERSION
# => "2.4.8"
::CSV.generate(headers: ["Foo"], write_headers: true) { |csv| }
# => ""

After:

RUBY_VERSION
# => "2.5.0"
require "csv"
# => true
CSV::VERSION
# => "2.4.8"
::CSV.generate(headers: ["Foo"], write_headers: true) { |csv| }
# => "Foo\n"

I'm trying to understand how this repo is used by Ruby as a gem versus Ruby's own csv.rb. Maybe someone could help me understand what's going on here?

(The above seem true for 2.5.1, as well.)

If Ruby has csv.gemspec to pull in csv as a default gem, is a separately installed gem ever used instead of Ruby's own lib/csv.rb? (That may be a stupid question — I don't know how Ruby's default gems work!) As recently as ruby/ruby@5c1941a it looks like the csv gem is being vendored.

from csv.

kou avatar kou commented on July 21, 2024

is a separately installed gem ever used instead of Ruby's own lib/csv.rb?

Yes.

NOTE: You should not reuse a closed issue. You should open a new issue with a link to a closed issue.

from csv.

aprescott avatar aprescott commented on July 21, 2024

@kou I originally wrote my comment as a new issue, for that exact reason, but felt it potentially overlapped so much with this that a comment here was more appropriate, where the context lives. Would you prefer I move my question into a new issue? I have a further question about what "yes" means, since I wasn't clear in my original.

from csv.

kou avatar kou commented on July 21, 2024

Yes please.

from csv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.