enum_csv 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9ca3cb725d6f4a47be3ac7145ee80bdbe420c1d4
4
- data.tar.gz: b28cc4f0c6c523df4c71d2237ea668c183729f73
2
+ SHA256:
3
+ metadata.gz: bf6594ec66acf55668a9d70fcfaf595f6ddd157022acaa7894a3e735f4f5305d
4
+ data.tar.gz: bbb9893a0c9d14a3967f01ba35cedbe9e42bbea514b426f26709b707ffe3cbcb
5
5
  SHA512:
6
- metadata.gz: 3f56f71c6eadcb3278d353b092d504a60b7bb83dce0a123598ca3559e22927c4e48d4ceb56acf12488a7916fc0b8713a6bed2f03357d877ad61554e3b832aa45
7
- data.tar.gz: 31e4c7948415934ed139d0bf655948900be85baf6fb2eabb49495cfc7fb301e502807d22e214132b01ab876d2fc524abfd00f3a714752682a753f948ef41de46
6
+ metadata.gz: b358bcb72dd5da340d8c253a0cdd97020249272c43bcc71bd846ebe422f4a43889fa8b456237bcbea8597559acc74dbd1a42724d74a15638ca427faf6b2e444f
7
+ data.tar.gz: d247c0c3ca1c2c8c61ec436ed19c58e21d3da466e7c478434e956db4352905da754dce2ebc14c7a6c3c96dab4c39ebd6391f9d7d14ef30717e54d3a459a0b3e4
data/CHANGELOG CHANGED
@@ -1,3 +1,9 @@
1
+ === 1.1.1 (2020-01-31)
2
+
3
+ * Drop shipping of tests in gem (jeremyevans)
4
+
5
+ * Avoid keyword argument separation warnings on Ruby 2.7+ (jeremyevans)
6
+
1
7
  === 1.1.0 (2015-01-27)
2
8
 
3
9
  * Support a comma-delimited string for the :headers option (jeremyevans)
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013 Jeremy Evans
1
+ Copyright (c) 2013-2020 Jeremy Evans
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to
@@ -6,7 +6,7 @@ class for ruby's csv library.
6
6
 
7
7
  = Installation
8
8
 
9
- sudo gem install enum_csv
9
+ gem install enum_csv
10
10
 
11
11
  = Source Code
12
12
 
@@ -9,6 +9,18 @@ module EnumCSV
9
9
  CSV = ::FasterCSV
10
10
  end
11
11
 
12
+ if RUBY_VERSION >= "2.0"
13
+ instance_eval(<<-END, __FILE__, __LINE__+1)
14
+ def self.csv_call(*args, opts, &block)
15
+ CSV.send(*args, **opts, &block)
16
+ end
17
+ END
18
+ else
19
+ def self.csv_call(*args, &block)
20
+ CSV.send(*args, &block)
21
+ end
22
+ end
23
+
12
24
  # Create CSV from the given Enumerable object. If a block is given,
13
25
  # each item in the enumerable is yielded to the block, and the block
14
26
  # should return an array of of items to use for the CSV line.
@@ -37,10 +49,10 @@ module EnumCSV
37
49
  if opts[:file]
38
50
  opts = opts.dup
39
51
  file = opts.delete(:file)
40
- CSV.open(file, 'wb', opts, &csv_proc)
52
+ EnumCSV.csv_call(:open, file, 'wb', opts, &csv_proc)
41
53
  nil
42
54
  else
43
- CSV.generate(opts, &csv_proc)
55
+ EnumCSV.csv_call(:generate, opts, &csv_proc)
44
56
  end
45
57
  end
46
58
  module_function :csv
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enum_csv
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-27 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2020-02-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest-global_expectations
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  description: |
14
42
  EnumCSV exposes a single method, csv, for easily creating CSV
15
43
  output/files from enumerable objects.
@@ -24,13 +52,14 @@ files:
24
52
  - CHANGELOG
25
53
  - MIT-LICENSE
26
54
  - README.rdoc
27
- - Rakefile
28
55
  - lib/enum_csv.rb
29
- - spec/enum_csv_spec.rb
30
56
  homepage: http://github.com/jeremyevans/enum_csv
31
57
  licenses:
32
58
  - MIT
33
- metadata: {}
59
+ metadata:
60
+ bug_tracker_uri: https://github.com/jeremyevans/enum_csv/issues
61
+ changelog_uri: https://github.com/jeremyevans/enum_csv/blob/master/CHANGELOG
62
+ source_code_uri: https://github.com/jeremyevans/enum_csv
34
63
  post_install_message:
35
64
  rdoc_options:
36
65
  - "--quiet"
@@ -53,8 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
53
82
  - !ruby/object:Gem::Version
54
83
  version: '0'
55
84
  requirements: []
56
- rubyforge_project:
57
- rubygems_version: 2.4.5
85
+ rubygems_version: 3.1.2
58
86
  signing_key:
59
87
  specification_version: 4
60
88
  summary: Create CSV from Enumerables
data/Rakefile DELETED
@@ -1,69 +0,0 @@
1
- require "rake"
2
- require "rake/clean"
3
-
4
- CLEAN.include ["enum_csv-*.gem", "rdoc", "coverage"]
5
-
6
- desc "Build enum_csv gem"
7
- task :package=>[:clean] do |p|
8
- sh %{#{FileUtils::RUBY} -S gem build enum_csv.gemspec}
9
- end
10
-
11
- ### Specs
12
-
13
- begin
14
- begin
15
- # RSpec 1
16
- require "spec/rake/spectask"
17
- spec_class = Spec::Rake::SpecTask
18
- spec_files_meth = :spec_files=
19
- rescue LoadError
20
- # RSpec 2
21
- require "rspec/core/rake_task"
22
- spec_class = RSpec::Core::RakeTask
23
- spec_files_meth = :pattern=
24
- end
25
-
26
- spec = lambda do |name, files, d|
27
- lib_dir = File.join(File.dirname(File.expand_path(__FILE__)), 'lib')
28
- ENV['RUBYLIB'] ? (ENV['RUBYLIB'] += ":#{lib_dir}") : (ENV['RUBYLIB'] = lib_dir)
29
- desc d
30
- spec_class.new(name) do |t|
31
- t.send(spec_files_meth, files)
32
- end
33
- end
34
-
35
- task :default => [:spec]
36
- spec.call("spec", Dir["spec/*_spec.rb"], "Run specs")
37
- rescue LoadError
38
- task :default do
39
- puts "Must install rspec to run the default task (which runs specs)"
40
- end
41
- end
42
-
43
- ### RDoc
44
-
45
- RDOC_DEFAULT_OPTS = ["--quiet", "--line-numbers", "--inline-source", '--title', 'EnumCSV: Create CSV from Enumerables']
46
-
47
- begin
48
- gem 'rdoc', '= 3.12.2'
49
- gem 'hanna-nouveau'
50
- RDOC_DEFAULT_OPTS.concat(['-f', 'hanna'])
51
- rescue Gem::LoadError
52
- end
53
-
54
- rdoc_task_class = begin
55
- require "rdoc/task"
56
- RDoc::Task
57
- rescue LoadError
58
- require "rake/rdoctask"
59
- Rake::RDocTask
60
- end
61
-
62
- RDOC_OPTS = RDOC_DEFAULT_OPTS + ['--main', 'README.rdoc']
63
-
64
- rdoc_task_class.new do |rdoc|
65
- rdoc.rdoc_dir = "rdoc"
66
- rdoc.options += RDOC_OPTS
67
- rdoc.rdoc_files.add %w"README.rdoc CHANGELOG MIT-LICENSE lib/**/*.rb"
68
- end
69
-
@@ -1,49 +0,0 @@
1
- require 'rubygems'
2
- require File.join(File.dirname(File.expand_path(__FILE__)), '../lib/enum_csv')
3
-
4
- describe "EnumCSV.csv" do
5
- TEST_FILE = File.join(File.dirname(File.expand_path(__FILE__)), 'test.csv')
6
- after(:all) do
7
- File.delete(TEST_FILE)
8
- end
9
-
10
- it "should return string of CSV data for enumerable" do
11
- EnumCSV.csv([[1, 2]]).should == "1,2\n"
12
- EnumCSV.csv([[1, 2], [3, 4]]).should == "1,2\n3,4\n"
13
- EnumCSV.csv([[1, '2,3'], [3, 4]]).should == "1,\"2,3\"\n3,4\n"
14
- EnumCSV.csv([[1, nil], [3, 4]]).should == "1,\n3,4\n"
15
- end
16
-
17
- it "should support :headers option for a headers string" do
18
- EnumCSV.csv([[1, 2]], :headers=>['a', 'b']).should == "a,b\n1,2\n"
19
- EnumCSV.csv([[1, 2], [3, 4]], :headers=>['a', 'b']).should == "a,b\n1,2\n3,4\n"
20
- EnumCSV.csv([[1, '2,3'], [3, 4]], :headers=>['a,b', 'c']).should == "\"a,b\",c\n1,\"2,3\"\n3,4\n"
21
- EnumCSV.csv([[1, nil], [3, 4]], :headers=>['a', nil]).should == "a,\n1,\n3,4\n"
22
- end
23
-
24
- it "should support :headers option as a comma delimited string" do
25
- EnumCSV.csv([[1, 2]], :headers=>'a,b').should == "a,b\n1,2\n"
26
- EnumCSV.csv([[1, 2], [3, 4]], :headers=>'a,b').should == "a,b\n1,2\n3,4\n"
27
- end
28
-
29
- it "should support :file option for writing to a file" do
30
- EnumCSV.csv([[1, 2]], :file=>TEST_FILE).should be_nil
31
- File.read(TEST_FILE).should == "1,2\n"
32
- EnumCSV.csv([[1, 2]], :file=>TEST_FILE, :headers=>['a', 'b'])
33
- File.read(TEST_FILE).should == "a,b\n1,2\n"
34
- end
35
-
36
- it "should support other csv options" do
37
- EnumCSV.csv([[1, 2]], :row_sep=>'|').should == "1,2|"
38
- EnumCSV.csv([[1, 2], [3, 4]], :col_sep=>'^').should == "1^2\n3^4\n"
39
- end
40
-
41
- it "should yield elements to the block if given" do
42
- EnumCSV.csv([[1, 2]]){|l| l.map{|i| i*2}}.should == "2,4\n"
43
- EnumCSV.csv([[1, 2]], :headers=>['a', 'b']){|l| l.map{|i| i*2}}.should == "a,b\n2,4\n"
44
- end
45
-
46
- it "should be callable as a method if including the module" do
47
- Class.new{include EnumCSV}.new.send(:csv, [[1, 2]]).should == "1,2\n"
48
- end
49
- end