as_csv 2.0.2 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +19 -0
- data/README.md +2 -25
- data/lib/as_csv/active_model/serialization/csv.rb +17 -0
- data/lib/as_csv/core_ext/enumerable.rb +10 -0
- data/lib/as_csv/csv_builder.rb +1 -1
- data/lib/as_csv/railtie.rb +2 -10
- data/lib/as_csv/version.rb +1 -1
- data/lib/as_csv.rb +1 -0
- metadata +21 -130
- data/.gitignore +0 -22
- data/.rspec +0 -1
- data/.travis.yml +0 -6
- data/Gemfile +0 -6
- data/Rakefile +0 -1
- data/as_csv.gemspec +0 -26
- data/script/rspec +0 -16
- data/spec/controllers/render_widgets_controller_spec.rb +0 -5
- data/spec/controllers/respond_with_widgets_controller_spec.rb +0 -5
- data/spec/core_ext/array_spec.rb +0 -35
- data/spec/dummy/README.rdoc +0 -261
- data/spec/dummy/Rakefile +0 -7
- data/spec/dummy/app/assets/images/rails.png +0 -0
- data/spec/dummy/app/assets/javascripts/application.js +0 -13
- data/spec/dummy/app/assets/stylesheets/application.css +0 -13
- data/spec/dummy/app/controllers/application_controller.rb +0 -3
- data/spec/dummy/app/controllers/render_widgets_controller.rb +0 -15
- data/spec/dummy/app/controllers/respond_with_widgets_controller.rb +0 -12
- data/spec/dummy/app/helpers/application_helper.rb +0 -2
- data/spec/dummy/app/models/widget.rb +0 -2
- data/spec/dummy/app/models/widget_with_options.rb +0 -12
- data/spec/dummy/app/views/layouts/application.html.erb +0 -14
- data/spec/dummy/config/application.rb +0 -49
- data/spec/dummy/config/boot.rb +0 -10
- data/spec/dummy/config/database.yml +0 -7
- data/spec/dummy/config/environment.rb +0 -8
- data/spec/dummy/config/environments/test.rb +0 -36
- data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/dummy/config/initializers/inflections.rb +0 -15
- data/spec/dummy/config/initializers/mime_types.rb +0 -5
- data/spec/dummy/config/initializers/secret_token.rb +0 -7
- data/spec/dummy/config/initializers/session_store.rb +0 -8
- data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/spec/dummy/config/locales/en.yml +0 -5
- data/spec/dummy/config/routes.rb +0 -4
- data/spec/dummy/config.ru +0 -4
- data/spec/dummy/db/schema.rb +0 -22
- data/spec/dummy/db/seeds.rb +0 -7
- data/spec/dummy/public/404.html +0 -26
- data/spec/dummy/public/422.html +0 -26
- data/spec/dummy/public/500.html +0 -25
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/index.html +0 -241
- data/spec/dummy/public/robots.txt +0 -5
- data/spec/dummy/script/rails +0 -6
- data/spec/lib/csv_builder_spec.rb +0 -78
- data/spec/models/active_model_spec.rb +0 -16
- data/spec/models/widget_spec.rb +0 -61
- data/spec/models/widget_with_options_spec.rb +0 -29
- data/spec/rails_helper.rb +0 -25
- data/spec/spec_helper.rb +0 -10
- data/spec/support/widgets_controller_mixin.rb +0 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: de71beec63d08a1f5458d90b0c1467356f2fa04ee5c2ba4fc02677567c9ddbe3
|
4
|
+
data.tar.gz: f2be9c1aa77fcbd6d3bbfc8b2a47df0581cd34aa4540ed9a885801cbff698de8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 740b0966dfe962994b91c0989d776f9cc638b9bd03246ff1f352aab3d056a5385f5f95178c455b1703c0acca420d8702b8c4ddbd7ae9b244f9acba9a1581327c
|
7
|
+
data.tar.gz: e6ef60c4b2334f72c091d627ec297081b334e6b0796becca4d1bfe36b65e4cdfc268882f01a469e20f1bd8f4b15f9648e41bb05e856cd037e1d12a5539130105
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,24 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
5
5
|
|
6
|
+
## [3.0.0] - 2022-11-08
|
7
|
+
|
8
|
+
### Added
|
9
|
+
|
10
|
+
- Added support for Ruby 3.
|
11
|
+
- Added support for Rails 5, 6, and 7.
|
12
|
+
- Added `Enumerable#as_csv` to support ActiveRecord::Relation.
|
13
|
+
|
14
|
+
### Changed
|
15
|
+
|
16
|
+
- Serialization follows modern Rails pattern.
|
17
|
+
- Simplified tests.
|
18
|
+
- CI now only checks Ruby 2.6, 2.7, and 3.0, along with Rails 5, 6 and 7.
|
19
|
+
|
20
|
+
### Removed
|
21
|
+
|
22
|
+
- Dropped explicit dependency on responders gem
|
23
|
+
|
6
24
|
## [2.0.2] - 2015-03-21
|
7
25
|
|
8
26
|
### Changed
|
@@ -20,6 +38,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
20
38
|
|
21
39
|
- Pretty sure this is actually backwards compat. Sorry.
|
22
40
|
|
41
|
+
[3.0.0]: https://github.com/danielfone/as_csv/compare/v2.0.2...v3.0.0
|
23
42
|
[2.0.2]: https://github.com/danielfone/as_csv/compare/v2.0.1...v2.0.2
|
24
43
|
[2.0.1]: https://github.com/danielfone/as_csv/compare/v2.0.0...v2.0.1
|
25
44
|
[2.0.0]: https://github.com/danielfone/as_csv/compare/v1.0.2...v2.0.0
|
data/README.md
CHANGED
@@ -1,44 +1,23 @@
|
|
1
1
|
# AsCSV
|
2
2
|
|
3
3
|
[![Gem Version](https://badge.fury.io/rb/as_csv.svg)](http://badge.fury.io/rb/as_csv)
|
4
|
-
[![Build Status](https://travis-ci.org/danielfone/as_csv.svg)](https://travis-ci.org/danielfone/as_csv)
|
5
|
-
[![Dependency Status](https://gemnasium.com/danielfone/as_csv.svg)](https://gemnasium.com/danielfone/as_csv)
|
6
4
|
[![Code Climate](https://codeclimate.com/github/danielfone/as_csv/badges/gpa.svg)](https://codeclimate.com/github/danielfone/as_csv)
|
7
5
|
|
8
6
|
This gem allows you to expose CSV in your apps as you'd expose JSON or XML.
|
9
7
|
|
10
8
|
Rails is not strictly required, but currently the magic only works with Rails > 3.x.x.
|
11
9
|
|
12
|
-
Ruby 1.8 will work, but by default the order of the columns will not be guaranteed.
|
13
|
-
|
14
10
|
## Installation
|
15
11
|
|
16
12
|
Add this line to your application's Gemfile:
|
17
13
|
|
18
14
|
```ruby
|
19
|
-
gem 'as_csv', '~>
|
15
|
+
gem 'as_csv', '~> 3.0'
|
20
16
|
```
|
21
17
|
|
22
18
|
## Basic Usage
|
23
19
|
|
24
|
-
Simply
|
25
|
-
|
26
|
-
```ruby
|
27
|
-
class WidgetsController < ApplicationController
|
28
|
-
respond_to :xml, :json, :csv
|
29
|
-
|
30
|
-
def index
|
31
|
-
respond_with Widget.all
|
32
|
-
end
|
33
|
-
|
34
|
-
def show
|
35
|
-
respond_with Widget.find(params[:id])
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
```
|
40
|
-
|
41
|
-
Alternatively:
|
20
|
+
Simply render CSV in a controller
|
42
21
|
|
43
22
|
```ruby
|
44
23
|
class WidgetsController < ApplicationController
|
@@ -184,5 +163,3 @@ bar2|bar2-description||xyz98765
|
|
184
163
|
6. Commit your changes (`git commit -am 'Add some feature'`)
|
185
164
|
7. Push to the branch (`git push origin my-new-feature`)
|
186
165
|
8. Create new Pull Request
|
187
|
-
|
188
|
-
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'as_csv/csv_builder'
|
2
|
+
|
3
|
+
module AsCSV
|
4
|
+
module ActiveModel
|
5
|
+
module Serialization
|
6
|
+
module CSV
|
7
|
+
def as_csv(options={})
|
8
|
+
attributes
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_csv(*args)
|
12
|
+
AsCSV::CSVBuilder.new(self, *args).to_csv
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/as_csv/csv_builder.rb
CHANGED
data/lib/as_csv/railtie.rb
CHANGED
@@ -1,14 +1,6 @@
|
|
1
|
-
require 'as_csv/
|
1
|
+
require 'as_csv/active_model/serialization/csv'
|
2
2
|
|
3
|
-
|
4
|
-
def as_csv(options={})
|
5
|
-
attributes
|
6
|
-
end
|
7
|
-
|
8
|
-
def to_csv(*args)
|
9
|
-
AsCSV::CSVBuilder.new(self, *args).to_csv
|
10
|
-
end
|
11
|
-
end
|
3
|
+
ActiveModel::Serialization.send :include, AsCSV::ActiveModel::Serialization::CSV
|
12
4
|
|
13
5
|
ActionController::Renderers.add :csv do |obj, options|
|
14
6
|
response.headers['Content-Disposition'] = 'attachment'
|
data/lib/as_csv/version.rb
CHANGED
data/lib/as_csv.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: as_csv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Fone
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -16,56 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '5.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '5.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: actionpack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '5.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: responders
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
40
|
+
version: '5.0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rails
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
45
|
- - ">="
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
47
|
+
version: '0'
|
62
48
|
type: :development
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
52
|
- - ">="
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
54
|
+
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: sqlite3
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,16 +70,16 @@ dependencies:
|
|
84
70
|
name: rspec-rails
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
|
-
- - "
|
73
|
+
- - ">="
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
75
|
+
version: '0'
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
|
-
- - "
|
80
|
+
- - ">="
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
82
|
+
version: '0'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: simplecov
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,70 +101,21 @@ executables: []
|
|
115
101
|
extensions: []
|
116
102
|
extra_rdoc_files: []
|
117
103
|
files:
|
118
|
-
- ".gitignore"
|
119
|
-
- ".rspec"
|
120
|
-
- ".travis.yml"
|
121
104
|
- CHANGELOG.md
|
122
|
-
- Gemfile
|
123
105
|
- LICENSE.txt
|
124
106
|
- README.md
|
125
|
-
- Rakefile
|
126
|
-
- as_csv.gemspec
|
127
107
|
- lib/as_csv.rb
|
108
|
+
- lib/as_csv/active_model/serialization/csv.rb
|
128
109
|
- lib/as_csv/core_ext/array.rb
|
110
|
+
- lib/as_csv/core_ext/enumerable.rb
|
129
111
|
- lib/as_csv/csv_builder.rb
|
130
112
|
- lib/as_csv/railtie.rb
|
131
113
|
- lib/as_csv/version.rb
|
132
|
-
- script/rspec
|
133
|
-
- spec/controllers/render_widgets_controller_spec.rb
|
134
|
-
- spec/controllers/respond_with_widgets_controller_spec.rb
|
135
|
-
- spec/core_ext/array_spec.rb
|
136
|
-
- spec/dummy/README.rdoc
|
137
|
-
- spec/dummy/Rakefile
|
138
|
-
- spec/dummy/app/assets/images/rails.png
|
139
|
-
- spec/dummy/app/assets/javascripts/application.js
|
140
|
-
- spec/dummy/app/assets/stylesheets/application.css
|
141
|
-
- spec/dummy/app/controllers/application_controller.rb
|
142
|
-
- spec/dummy/app/controllers/render_widgets_controller.rb
|
143
|
-
- spec/dummy/app/controllers/respond_with_widgets_controller.rb
|
144
|
-
- spec/dummy/app/helpers/application_helper.rb
|
145
|
-
- spec/dummy/app/models/widget.rb
|
146
|
-
- spec/dummy/app/models/widget_with_options.rb
|
147
|
-
- spec/dummy/app/views/layouts/application.html.erb
|
148
|
-
- spec/dummy/config.ru
|
149
|
-
- spec/dummy/config/application.rb
|
150
|
-
- spec/dummy/config/boot.rb
|
151
|
-
- spec/dummy/config/database.yml
|
152
|
-
- spec/dummy/config/environment.rb
|
153
|
-
- spec/dummy/config/environments/test.rb
|
154
|
-
- spec/dummy/config/initializers/backtrace_silencers.rb
|
155
|
-
- spec/dummy/config/initializers/inflections.rb
|
156
|
-
- spec/dummy/config/initializers/mime_types.rb
|
157
|
-
- spec/dummy/config/initializers/secret_token.rb
|
158
|
-
- spec/dummy/config/initializers/session_store.rb
|
159
|
-
- spec/dummy/config/initializers/wrap_parameters.rb
|
160
|
-
- spec/dummy/config/locales/en.yml
|
161
|
-
- spec/dummy/config/routes.rb
|
162
|
-
- spec/dummy/db/schema.rb
|
163
|
-
- spec/dummy/db/seeds.rb
|
164
|
-
- spec/dummy/public/404.html
|
165
|
-
- spec/dummy/public/422.html
|
166
|
-
- spec/dummy/public/500.html
|
167
|
-
- spec/dummy/public/favicon.ico
|
168
|
-
- spec/dummy/public/index.html
|
169
|
-
- spec/dummy/public/robots.txt
|
170
|
-
- spec/dummy/script/rails
|
171
|
-
- spec/lib/csv_builder_spec.rb
|
172
|
-
- spec/models/active_model_spec.rb
|
173
|
-
- spec/models/widget_spec.rb
|
174
|
-
- spec/models/widget_with_options_spec.rb
|
175
|
-
- spec/rails_helper.rb
|
176
|
-
- spec/spec_helper.rb
|
177
|
-
- spec/support/widgets_controller_mixin.rb
|
178
114
|
homepage: https://github.com/danielfone/as_csv
|
179
|
-
licenses:
|
115
|
+
licenses:
|
116
|
+
- MIT
|
180
117
|
metadata: {}
|
181
|
-
post_install_message:
|
118
|
+
post_install_message:
|
182
119
|
rdoc_options: []
|
183
120
|
require_paths:
|
184
121
|
- lib
|
@@ -193,54 +130,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
130
|
- !ruby/object:Gem::Version
|
194
131
|
version: '0'
|
195
132
|
requirements: []
|
196
|
-
|
197
|
-
|
198
|
-
signing_key:
|
133
|
+
rubygems_version: 3.3.22
|
134
|
+
signing_key:
|
199
135
|
specification_version: 4
|
200
136
|
summary: Instant CSV support for Rails
|
201
|
-
test_files:
|
202
|
-
- spec/controllers/render_widgets_controller_spec.rb
|
203
|
-
- spec/controllers/respond_with_widgets_controller_spec.rb
|
204
|
-
- spec/core_ext/array_spec.rb
|
205
|
-
- spec/dummy/README.rdoc
|
206
|
-
- spec/dummy/Rakefile
|
207
|
-
- spec/dummy/app/assets/images/rails.png
|
208
|
-
- spec/dummy/app/assets/javascripts/application.js
|
209
|
-
- spec/dummy/app/assets/stylesheets/application.css
|
210
|
-
- spec/dummy/app/controllers/application_controller.rb
|
211
|
-
- spec/dummy/app/controllers/render_widgets_controller.rb
|
212
|
-
- spec/dummy/app/controllers/respond_with_widgets_controller.rb
|
213
|
-
- spec/dummy/app/helpers/application_helper.rb
|
214
|
-
- spec/dummy/app/models/widget.rb
|
215
|
-
- spec/dummy/app/models/widget_with_options.rb
|
216
|
-
- spec/dummy/app/views/layouts/application.html.erb
|
217
|
-
- spec/dummy/config.ru
|
218
|
-
- spec/dummy/config/application.rb
|
219
|
-
- spec/dummy/config/boot.rb
|
220
|
-
- spec/dummy/config/database.yml
|
221
|
-
- spec/dummy/config/environment.rb
|
222
|
-
- spec/dummy/config/environments/test.rb
|
223
|
-
- spec/dummy/config/initializers/backtrace_silencers.rb
|
224
|
-
- spec/dummy/config/initializers/inflections.rb
|
225
|
-
- spec/dummy/config/initializers/mime_types.rb
|
226
|
-
- spec/dummy/config/initializers/secret_token.rb
|
227
|
-
- spec/dummy/config/initializers/session_store.rb
|
228
|
-
- spec/dummy/config/initializers/wrap_parameters.rb
|
229
|
-
- spec/dummy/config/locales/en.yml
|
230
|
-
- spec/dummy/config/routes.rb
|
231
|
-
- spec/dummy/db/schema.rb
|
232
|
-
- spec/dummy/db/seeds.rb
|
233
|
-
- spec/dummy/public/404.html
|
234
|
-
- spec/dummy/public/422.html
|
235
|
-
- spec/dummy/public/500.html
|
236
|
-
- spec/dummy/public/favicon.ico
|
237
|
-
- spec/dummy/public/index.html
|
238
|
-
- spec/dummy/public/robots.txt
|
239
|
-
- spec/dummy/script/rails
|
240
|
-
- spec/lib/csv_builder_spec.rb
|
241
|
-
- spec/models/active_model_spec.rb
|
242
|
-
- spec/models/widget_spec.rb
|
243
|
-
- spec/models/widget_with_options_spec.rb
|
244
|
-
- spec/rails_helper.rb
|
245
|
-
- spec/spec_helper.rb
|
246
|
-
- spec/support/widgets_controller_mixin.rb
|
137
|
+
test_files: []
|
data/.gitignore
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
*.gem
|
2
|
-
*.rbc
|
3
|
-
.bundle
|
4
|
-
.config
|
5
|
-
.yardoc
|
6
|
-
InstalledFiles
|
7
|
-
_yardoc
|
8
|
-
coverage
|
9
|
-
doc/
|
10
|
-
lib/bundler/man
|
11
|
-
pkg
|
12
|
-
rdoc
|
13
|
-
spec/reports
|
14
|
-
test/tmp
|
15
|
-
test/version_tmp
|
16
|
-
tmp
|
17
|
-
spec/dummy/db/*.sqlite3
|
18
|
-
spec/dummy/log/*.log
|
19
|
-
spec/dummy/tmp/
|
20
|
-
spec/dummy/.sass-cache
|
21
|
-
.rbx
|
22
|
-
Gemfile.lock
|
data/.rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--color
|
data/.travis.yml
DELETED
data/Gemfile
DELETED
data/Rakefile
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require "bundler/gem_tasks"
|
data/as_csv.gemspec
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
require File.expand_path '../lib/as_csv/version', __FILE__
|
3
|
-
|
4
|
-
Gem::Specification.new do |gem|
|
5
|
-
gem.name = "as_csv"
|
6
|
-
gem.version = AsCSV::VERSION
|
7
|
-
gem.authors = ["Daniel Fone"]
|
8
|
-
gem.email = %w[daniel@fone.net.nz]
|
9
|
-
gem.description = %q{Instant CSV support for Rails}
|
10
|
-
gem.summary = %q{Instant CSV support for Rails}
|
11
|
-
gem.homepage = "https://github.com/danielfone/as_csv"
|
12
|
-
|
13
|
-
gem.files = `git ls-files`.split($/)
|
14
|
-
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
15
|
-
gem.require_paths = %w[lib]
|
16
|
-
|
17
|
-
gem.add_runtime_dependency "activemodel", '>= 3.0'
|
18
|
-
gem.add_runtime_dependency "actionpack", '>= 3.0'
|
19
|
-
gem.add_runtime_dependency "responders"
|
20
|
-
|
21
|
-
# Tests
|
22
|
-
gem.add_development_dependency "rails", ">= 3.0"
|
23
|
-
gem.add_development_dependency "sqlite3" unless defined? JRUBY_VERSION
|
24
|
-
gem.add_development_dependency "rspec-rails", "~> 3.0"
|
25
|
-
gem.add_development_dependency "simplecov"
|
26
|
-
end
|
data/script/rspec
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
#
|
3
|
-
# This file was generated by Bundler.
|
4
|
-
#
|
5
|
-
# The application 'rspec' is installed as part of a gem, and
|
6
|
-
# this file is here to facilitate running it.
|
7
|
-
#
|
8
|
-
|
9
|
-
require 'pathname'
|
10
|
-
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
11
|
-
Pathname.new(__FILE__).realpath)
|
12
|
-
|
13
|
-
require 'rubygems'
|
14
|
-
require 'bundler/setup'
|
15
|
-
|
16
|
-
load Gem.bin_path('rspec-core', 'rspec')
|
data/spec/core_ext/array_spec.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'as_csv/core_ext/array'
|
3
|
-
|
4
|
-
describe Array do
|
5
|
-
subject(:array) do
|
6
|
-
[
|
7
|
-
double(:foo, :as_csv => {:header => '1'}),
|
8
|
-
double(:foo, :as_csv => {:header => '2'}),
|
9
|
-
double(:foo, :as_csv => {:header1 => '3'}),
|
10
|
-
]
|
11
|
-
end
|
12
|
-
|
13
|
-
describe '#to_csv' do
|
14
|
-
subject { array.to_csv }
|
15
|
-
|
16
|
-
it 'should use :as_csv on its elements if present' do
|
17
|
-
should eq "header,header1\n1,\n2,\n,3\n"
|
18
|
-
end
|
19
|
-
|
20
|
-
context 'with mixed elements' do
|
21
|
-
before { array << 1 }
|
22
|
-
it 'should raise a TypeError' do
|
23
|
-
expect { subject }.to raise_error TypeError
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
context 'with literals' do
|
28
|
-
before { array.clear; array << 1 }
|
29
|
-
it 'should not use :as_csv' do
|
30
|
-
should eq "1\n"
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|