as_csv 2.0.2 → 3.0.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 +5 -5
- data/CHANGELOG.md +25 -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 +23 -12
- data/lib/as_csv/version.rb +1 -1
- data/lib/as_csv.rb +2 -1
- 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: 8af870672a5c660bf534d462e8bc5cb16b4212a944c6ea471196f54cc5c422f6
|
4
|
+
data.tar.gz: fb419f709a93da5293e05315b2ffa0cb41c3adb9d3dc81b61534717198e3dfbd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 821778f8b9ba8e2ec23297361cd1d5311a824a9c153fabf1a5c2bbe6a9c669ef62c28f3b45825e1496ace0fd2e866a17dd51613a81f74fefeb4ef5550cc83567
|
7
|
+
data.tar.gz: 3057fef0b1dea2f0d353e2094a377544527d0e1209ca2139e7cfe6019c425dab4f0262d7069b45437c2b84b33b8e4c8cff44c39c792d1d1e8d3d86ff0029c390
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,30 @@
|
|
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.1] - 2022-11-08
|
7
|
+
|
8
|
+
### Fixed
|
9
|
+
|
10
|
+
- Improved support for Rails 7 by using a proper Railtie.
|
11
|
+
|
12
|
+
## [3.0.0] - 2022-11-08
|
13
|
+
|
14
|
+
### Added
|
15
|
+
|
16
|
+
- Added support for Ruby 3.
|
17
|
+
- Added support for Rails 5, 6, and 7.
|
18
|
+
- Added `Enumerable#as_csv` to support ActiveRecord::Relation.
|
19
|
+
|
20
|
+
### Changed
|
21
|
+
|
22
|
+
- Serialization follows modern Rails pattern.
|
23
|
+
- Simplified tests.
|
24
|
+
- CI now only checks Ruby 2.6, 2.7, and 3.0, along with Rails 5, 6 and 7.
|
25
|
+
|
26
|
+
### Removed
|
27
|
+
|
28
|
+
- Dropped explicit dependency on responders gem
|
29
|
+
|
6
30
|
## [2.0.2] - 2015-03-21
|
7
31
|
|
8
32
|
### Changed
|
@@ -20,6 +44,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
20
44
|
|
21
45
|
- Pretty sure this is actually backwards compat. Sorry.
|
22
46
|
|
47
|
+
[3.0.0]: https://github.com/danielfone/as_csv/compare/v2.0.2...v3.0.0
|
23
48
|
[2.0.2]: https://github.com/danielfone/as_csv/compare/v2.0.1...v2.0.2
|
24
49
|
[2.0.1]: https://github.com/danielfone/as_csv/compare/v2.0.0...v2.0.1
|
25
50
|
[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
|
[](http://badge.fury.io/rb/as_csv)
|
4
|
-
[](https://travis-ci.org/danielfone/as_csv)
|
5
|
-
[](https://gemnasium.com/danielfone/as_csv)
|
6
4
|
[](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,16 +1,27 @@
|
|
1
|
-
require 'as_csv/
|
1
|
+
require 'as_csv/active_model/serialization/csv'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
end
|
3
|
+
# Use the Railtie to hook into the Rails initialization process
|
4
|
+
module AsCsv
|
5
|
+
class Railtie < Rails::Railtie
|
7
6
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
initializer "as_csv" do
|
8
|
+
|
9
|
+
# Include the CSV serialization module into ActiveRecord::Base and
|
10
|
+
# ActiveModel::Serialization
|
11
|
+
ActiveSupport.on_load :active_record do
|
12
|
+
ActiveRecord::Base.send :include, AsCSV::ActiveModel::Serialization::CSV
|
13
|
+
ActiveModel::Serialization.send :include, AsCSV::ActiveModel::Serialization::CSV
|
14
|
+
end
|
12
15
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
+
# Add a :csv renderer to ActionController::Renderers
|
17
|
+
ActiveSupport.on_load :action_controller do
|
18
|
+
ActionController::Renderers.add :csv do |obj, options|
|
19
|
+
response.headers['Content-Disposition'] = 'attachment'
|
20
|
+
obj.respond_to?(:to_csv) ? obj.to_csv(options) : obj
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
16
27
|
end
|
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.1
|
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: 2023-02-01 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.23
|
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
|