comma 3.2.4 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +25 -62
  3. data/Appraisals +2 -13
  4. data/Gemfile +0 -5
  5. data/Gemfile.lock +49 -25
  6. data/README.markdown +3 -9
  7. data/comma.gemspec +7 -5
  8. data/gemfiles/active4.0.13.gemfile +2 -4
  9. data/gemfiles/active4.0.13.gemfile.lock +53 -42
  10. data/gemfiles/active4.1.16.gemfile +9 -0
  11. data/gemfiles/active4.1.16.gemfile.lock +91 -0
  12. data/gemfiles/active4.2.7.1.gemfile +9 -0
  13. data/gemfiles/active4.2.7.1.gemfile.lock +91 -0
  14. data/gemfiles/active5.0.0.1.gemfile +9 -0
  15. data/gemfiles/active5.0.0.1.gemfile.lock +89 -0
  16. data/gemfiles/rails4.0.13.gemfile +3 -4
  17. data/gemfiles/rails4.0.13.gemfile.lock +73 -55
  18. data/gemfiles/rails4.1.16.gemfile +10 -0
  19. data/gemfiles/rails4.1.16.gemfile.lock +148 -0
  20. data/gemfiles/rails4.2.7.1.gemfile +10 -0
  21. data/gemfiles/rails4.2.7.1.gemfile.lock +175 -0
  22. data/gemfiles/rails5.0.0.1.gemfile +10 -0
  23. data/gemfiles/rails5.0.0.1.gemfile.lock +181 -0
  24. data/lib/comma.rb +9 -1
  25. data/lib/comma/version.rb +1 -1
  26. data/spec/controllers/users_controller_spec.rb +2 -2
  27. data/spec/rails_app/active_record/config.rb +2 -2
  28. data/spec/spec_helper.rb +6 -3
  29. metadata +129 -138
  30. data/gemfiles/active3.0.20.gemfile +0 -11
  31. data/gemfiles/active3.0.20.gemfile.lock +0 -75
  32. data/gemfiles/active3.1.12.gemfile +0 -11
  33. data/gemfiles/active3.1.12.gemfile.lock +0 -76
  34. data/gemfiles/active3.2.20.gemfile +0 -11
  35. data/gemfiles/active3.2.20.gemfile.lock +0 -76
  36. data/gemfiles/active4.1.10.gemfile +0 -11
  37. data/gemfiles/active4.1.10.gemfile.lock +0 -81
  38. data/gemfiles/active4.2.1.gemfile +0 -11
  39. data/gemfiles/active4.2.1.gemfile.lock +0 -81
  40. data/gemfiles/data_mapper1.2.0.gemfile +0 -11
  41. data/gemfiles/data_mapper1.2.0.gemfile.lock +0 -118
  42. data/gemfiles/mongoid3.1.6.gemfile +0 -10
  43. data/gemfiles/mongoid3.1.6.gemfile.lock +0 -76
  44. data/gemfiles/rails3.0.20.gemfile +0 -11
  45. data/gemfiles/rails3.0.20.gemfile.lock +0 -127
  46. data/gemfiles/rails3.1.12.gemfile +0 -11
  47. data/gemfiles/rails3.1.12.gemfile.lock +0 -137
  48. data/gemfiles/rails3.2.20.gemfile +0 -11
  49. data/gemfiles/rails3.2.20.gemfile.lock +0 -135
  50. data/gemfiles/rails4.1.10.gemfile +0 -11
  51. data/gemfiles/rails4.1.10.gemfile.lock +0 -131
  52. data/gemfiles/rails4.2.1.gemfile +0 -11
  53. data/gemfiles/rails4.2.1.gemfile.lock +0 -156
@@ -47,7 +47,15 @@ ActiveSupport.on_load(:action_controller) do
47
47
  extension = options[:extension] || 'csv'
48
48
  mime_type = options[:mime_type] || Mime::CSV
49
49
  #Capture any CSV optional settings passed to comma or comma specific options
50
- csv_options = options.slice(*CSV_HANDLER::DEFAULT_OPTIONS.merge(Comma::DEFAULT_OPTIONS).keys)
50
+ csv_options = options.slice(*CSV_HANDLER::DEFAULT_OPTIONS.merge(Comma::DEFAULT_OPTIONS).keys).each_with_object({}) do |(k, v), h|
51
+ # XXX: Convert string to boolean
52
+ h[k] = case k
53
+ when :write_headers
54
+ v = (v != 'false') if v.is_a?(String)
55
+ else
56
+ v
57
+ end
58
+ end
51
59
  send_data obj.to_comma(csv_options), :type => mime_type, :disposition => "attachment; filename=\"#{filename}.#{extension}\""
52
60
  end
53
61
  end
@@ -1,3 +1,3 @@
1
1
  module Comma
2
- VERSION = '3.2.4'
2
+ VERSION = '4.0.0'
3
3
  end
@@ -2,13 +2,13 @@ require 'spec_helper'
2
2
 
3
3
  if defined?(Rails)
4
4
 
5
- describe UsersController do
5
+ RSpec.describe UsersController, type: :controller do
6
6
 
7
7
  describe "rails setup" do
8
8
 
9
9
  it 'should capture the CSV renderer provided by Rails' do
10
10
  mock_users = [mock_model(User), mock_model(User)]
11
- User.stub!(:all).and_return(mock_users)
11
+ allow(User).to receive(:all).and_return(mock_users)
12
12
 
13
13
  mock_users.should_receive(:to_comma).once
14
14
 
@@ -1,4 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
- ActiveRecord::Base.configurations = {'test' => {:adapter => 'sqlite3', :database => ':memory:'}}
4
- ActiveRecord::Base.establish_connection('test')
3
+ ActiveRecord::Base.configurations = {'test' => {'adapter' => 'sqlite3', 'database' => ':memory:'}}
4
+ ActiveRecord::Base.establish_connection(:test)
@@ -5,14 +5,17 @@ $LOAD_PATH.unshift(File.expand_path(File.join(*%w{.. .. lib}), __FILE__))
5
5
  require 'coveralls'
6
6
  Coveralls.wear!
7
7
 
8
+ require 'bundler/setup'
9
+ Bundler.require
10
+
11
+ require 'rspec/active_model/mocks'
12
+ require 'rspec/its'
13
+
8
14
  begin
9
15
  require 'rails'
10
16
  rescue LoadError
11
17
  end
12
18
 
13
- require 'bundler/setup'
14
- Bundler.require
15
-
16
19
  %w{data_mapper mongoid active_record}.each do |orm|
17
20
  begin
18
21
  require orm
metadata CHANGED
@@ -1,119 +1,132 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: comma
3
- version: !ruby/object:Gem::Version
4
- hash: 7
5
- prerelease:
6
- segments:
7
- - 3
8
- - 2
9
- - 4
10
- version: 3.2.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.0.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Marcus Crafter
14
8
  - Tom Meier
15
9
  autorequire:
16
10
  bindir: bin
17
11
  cert_chain: []
18
-
19
- date: 2015-04-08 00:00:00 +09:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
12
+ date: 2016-08-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
26
18
  - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 7
29
- segments:
30
- - 3
31
- - 0
32
- - 0
33
- version: 3.0.0
19
+ - !ruby/object:Gem::Version
20
+ version: 4.0.0
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '5.1'
34
24
  type: :runtime
35
- version_requirements: *id001
36
- prerelease: false
37
- name: activesupport
38
- - !ruby/object:Gem::Dependency
39
- requirement: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 13
45
- segments:
46
- - 0
47
- - 4
48
- - 1
49
- version: 0.4.1
50
- type: :development
51
- version_requirements: *id002
52
25
  prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: 4.0.0
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.1'
34
+ - !ruby/object:Gem::Dependency
53
35
  name: appraisal
54
- - !ruby/object:Gem::Dependency
55
- requirement: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
58
- - - ~>
59
- - !ruby/object:Gem::Version
60
- hash: 63
61
- segments:
62
- - 0
63
- - 9
64
- - 2
65
- version: 0.9.2
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.0.0
66
41
  type: :development
67
- version_requirements: *id003
68
42
  prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.0.0
48
+ - !ruby/object:Gem::Dependency
69
49
  name: rake
70
- - !ruby/object:Gem::Dependency
71
- requirement: &id004 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
74
- - - ~>
75
- - !ruby/object:Gem::Version
76
- hash: 47
77
- segments:
78
- - 2
79
- - 8
80
- - 0
81
- version: 2.8.0
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 10.5.0
82
55
  type: :development
83
- version_requirements: *id004
84
56
  prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 10.5.0
62
+ - !ruby/object:Gem::Dependency
85
63
  name: rspec
86
- - !ruby/object:Gem::Dependency
87
- requirement: &id005 !ruby/object:Gem::Requirement
88
- none: false
89
- requirements:
90
- - - ~>
91
- - !ruby/object:Gem::Version
92
- hash: 19
93
- segments:
94
- - 1
95
- - 3
96
- - 4
97
- version: 1.3.4
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 3.5.0
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 3.5.0
76
+ - !ruby/object:Gem::Dependency
77
+ name: rspec-activemodel-mocks
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
98
83
  type: :development
99
- version_requirements: *id005
100
84
  prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ - !ruby/object:Gem::Dependency
91
+ name: rspec-its
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ type: :development
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ - !ruby/object:Gem::Dependency
101
105
  name: sqlite3
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 1.3.11
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.3.11
102
118
  description: Ruby Comma Seperated Values generation library
103
- email:
119
+ email:
104
120
  - crafterm@redartisan.com
105
121
  - tom@venombytes.com
106
122
  executables: []
107
-
108
123
  extensions: []
109
-
110
124
  extra_rdoc_files: []
111
-
112
- files:
113
- - .coveralls.yml
114
- - .gitignore
115
- - .rspec
116
- - .travis.yml
125
+ files:
126
+ - ".coveralls.yml"
127
+ - ".gitignore"
128
+ - ".rspec"
129
+ - ".travis.yml"
117
130
  - Appraisals
118
131
  - Gemfile
119
132
  - Gemfile.lock
@@ -121,34 +134,22 @@ files:
121
134
  - README.markdown
122
135
  - Rakefile
123
136
  - comma.gemspec
124
- - gemfiles/active3.0.20.gemfile
125
- - gemfiles/active3.0.20.gemfile.lock
126
- - gemfiles/active3.1.12.gemfile
127
- - gemfiles/active3.1.12.gemfile.lock
128
- - gemfiles/active3.2.20.gemfile
129
- - gemfiles/active3.2.20.gemfile.lock
130
137
  - gemfiles/active4.0.13.gemfile
131
138
  - gemfiles/active4.0.13.gemfile.lock
132
- - gemfiles/active4.1.10.gemfile
133
- - gemfiles/active4.1.10.gemfile.lock
134
- - gemfiles/active4.2.1.gemfile
135
- - gemfiles/active4.2.1.gemfile.lock
136
- - gemfiles/data_mapper1.2.0.gemfile
137
- - gemfiles/data_mapper1.2.0.gemfile.lock
138
- - gemfiles/mongoid3.1.6.gemfile
139
- - gemfiles/mongoid3.1.6.gemfile.lock
140
- - gemfiles/rails3.0.20.gemfile
141
- - gemfiles/rails3.0.20.gemfile.lock
142
- - gemfiles/rails3.1.12.gemfile
143
- - gemfiles/rails3.1.12.gemfile.lock
144
- - gemfiles/rails3.2.20.gemfile
145
- - gemfiles/rails3.2.20.gemfile.lock
139
+ - gemfiles/active4.1.16.gemfile
140
+ - gemfiles/active4.1.16.gemfile.lock
141
+ - gemfiles/active4.2.7.1.gemfile
142
+ - gemfiles/active4.2.7.1.gemfile.lock
143
+ - gemfiles/active5.0.0.1.gemfile
144
+ - gemfiles/active5.0.0.1.gemfile.lock
146
145
  - gemfiles/rails4.0.13.gemfile
147
146
  - gemfiles/rails4.0.13.gemfile.lock
148
- - gemfiles/rails4.1.10.gemfile
149
- - gemfiles/rails4.1.10.gemfile.lock
150
- - gemfiles/rails4.2.1.gemfile
151
- - gemfiles/rails4.2.1.gemfile.lock
147
+ - gemfiles/rails4.1.16.gemfile
148
+ - gemfiles/rails4.1.16.gemfile.lock
149
+ - gemfiles/rails4.2.7.1.gemfile
150
+ - gemfiles/rails4.2.7.1.gemfile.lock
151
+ - gemfiles/rails5.0.0.1.gemfile
152
+ - gemfiles/rails5.0.0.1.gemfile.lock
152
153
  - init.rb
153
154
  - lib/comma.rb
154
155
  - lib/comma/array.rb
@@ -175,41 +176,31 @@ files:
175
176
  - spec/rails_app/mongoid/config.rb
176
177
  - spec/rails_app/rails_app.rb
177
178
  - spec/spec_helper.rb
178
- has_rdoc: true
179
179
  homepage: http://github.com/crafterm/comma
180
- licenses:
180
+ licenses:
181
181
  - MIT
182
+ metadata: {}
182
183
  post_install_message:
183
184
  rdoc_options: []
184
-
185
- require_paths:
185
+ require_paths:
186
186
  - lib
187
- required_ruby_version: !ruby/object:Gem::Requirement
188
- none: false
189
- requirements:
187
+ required_ruby_version: !ruby/object:Gem::Requirement
188
+ requirements:
190
189
  - - ">="
191
- - !ruby/object:Gem::Version
192
- hash: 3
193
- segments:
194
- - 0
195
- version: "0"
196
- required_rubygems_version: !ruby/object:Gem::Requirement
197
- none: false
198
- requirements:
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ required_rubygems_version: !ruby/object:Gem::Requirement
193
+ requirements:
199
194
  - - ">="
200
- - !ruby/object:Gem::Version
201
- hash: 3
202
- segments:
203
- - 0
204
- version: "0"
195
+ - !ruby/object:Gem::Version
196
+ version: '0'
205
197
  requirements: []
206
-
207
198
  rubyforge_project: comma
208
- rubygems_version: 1.6.2
199
+ rubygems_version: 2.5.1
209
200
  signing_key:
210
- specification_version: 3
201
+ specification_version: 4
211
202
  summary: Ruby Comma Seperated Values generation library
212
- test_files:
203
+ test_files:
213
204
  - spec/comma/comma_spec.rb
214
205
  - spec/comma/data_extractor_spec.rb
215
206
  - spec/comma/header_extractor_spec.rb
@@ -1,11 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "coveralls", :require=>false
6
- gem "fastercsv", :platforms=>:ruby_18
7
- gem "rest-client", "> 1.6.2", "< 1.7", :require=>false
8
- gem "activesupport", "3.0.20"
9
- gem "activerecord", "3.0.20"
10
-
11
- gemspec :path=>"../"
@@ -1,75 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- comma (3.2.4)
5
- activesupport (>= 3.0.0)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- activemodel (3.0.20)
11
- activesupport (= 3.0.20)
12
- builder (~> 2.1.2)
13
- i18n (~> 0.5.0)
14
- activerecord (3.0.20)
15
- activemodel (= 3.0.20)
16
- activesupport (= 3.0.20)
17
- arel (~> 2.0.10)
18
- tzinfo (~> 0.3.23)
19
- activesupport (3.0.20)
20
- appraisal (0.4.1)
21
- bundler
22
- rake
23
- arel (2.0.10)
24
- builder (2.1.2)
25
- colorize (0.7.5)
26
- coveralls (0.5.8)
27
- colorize
28
- json
29
- rest-client
30
- simplecov (>= 0.7)
31
- thor
32
- diff-lcs (1.1.3)
33
- docile (1.1.5)
34
- fastercsv (1.5.5)
35
- i18n (0.5.0)
36
- json (1.8.2)
37
- mime-types (1.25.1)
38
- multi_json (1.11.0)
39
- rake (0.9.6)
40
- rdoc (4.2.0)
41
- json (~> 1.4)
42
- rest-client (1.6.8)
43
- mime-types (~> 1.16)
44
- rdoc (>= 2.4.2)
45
- rspec (2.8.0)
46
- rspec-core (~> 2.8.0)
47
- rspec-expectations (~> 2.8.0)
48
- rspec-mocks (~> 2.8.0)
49
- rspec-core (2.8.0)
50
- rspec-expectations (2.8.0)
51
- diff-lcs (~> 1.1.2)
52
- rspec-mocks (2.8.0)
53
- simplecov (0.9.2)
54
- docile (~> 1.1.0)
55
- multi_json (~> 1.0)
56
- simplecov-html (~> 0.9.0)
57
- simplecov-html (0.9.0)
58
- sqlite3 (1.3.8)
59
- thor (0.19.1)
60
- tzinfo (0.3.37)
61
-
62
- PLATFORMS
63
- ruby
64
-
65
- DEPENDENCIES
66
- activerecord (= 3.0.20)
67
- activesupport (= 3.0.20)
68
- appraisal (~> 0.4.1)
69
- comma!
70
- coveralls
71
- fastercsv
72
- rake (~> 0.9.2)
73
- rest-client (> 1.6.2, < 1.7)
74
- rspec (~> 2.8.0)
75
- sqlite3 (~> 1.3.4)