as_csv 2.0.1 → 3.0.0

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.
Files changed (62) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +28 -5
  3. data/README.md +6 -28
  4. data/lib/as_csv/active_model/serialization/csv.rb +17 -0
  5. data/lib/as_csv/core_ext/enumerable.rb +10 -0
  6. data/lib/as_csv/csv_builder.rb +1 -1
  7. data/lib/as_csv/railtie.rb +3 -10
  8. data/lib/as_csv/version.rb +1 -1
  9. data/lib/as_csv.rb +1 -0
  10. metadata +21 -130
  11. data/.gitignore +0 -22
  12. data/.rspec +0 -1
  13. data/.travis.yml +0 -6
  14. data/Gemfile +0 -6
  15. data/Rakefile +0 -1
  16. data/as_csv.gemspec +0 -26
  17. data/script/rspec +0 -16
  18. data/spec/controllers/render_widgets_controller_spec.rb +0 -5
  19. data/spec/controllers/respond_with_widgets_controller_spec.rb +0 -5
  20. data/spec/core_ext/array_spec.rb +0 -35
  21. data/spec/dummy/README.rdoc +0 -261
  22. data/spec/dummy/Rakefile +0 -7
  23. data/spec/dummy/app/assets/images/rails.png +0 -0
  24. data/spec/dummy/app/assets/javascripts/application.js +0 -13
  25. data/spec/dummy/app/assets/stylesheets/application.css +0 -13
  26. data/spec/dummy/app/controllers/application_controller.rb +0 -3
  27. data/spec/dummy/app/controllers/render_widgets_controller.rb +0 -15
  28. data/spec/dummy/app/controllers/respond_with_widgets_controller.rb +0 -12
  29. data/spec/dummy/app/helpers/application_helper.rb +0 -2
  30. data/spec/dummy/app/models/widget.rb +0 -2
  31. data/spec/dummy/app/models/widget_with_options.rb +0 -12
  32. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  33. data/spec/dummy/config/application.rb +0 -49
  34. data/spec/dummy/config/boot.rb +0 -10
  35. data/spec/dummy/config/database.yml +0 -7
  36. data/spec/dummy/config/environment.rb +0 -8
  37. data/spec/dummy/config/environments/test.rb +0 -36
  38. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  39. data/spec/dummy/config/initializers/inflections.rb +0 -15
  40. data/spec/dummy/config/initializers/mime_types.rb +0 -5
  41. data/spec/dummy/config/initializers/secret_token.rb +0 -7
  42. data/spec/dummy/config/initializers/session_store.rb +0 -8
  43. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
  44. data/spec/dummy/config/locales/en.yml +0 -5
  45. data/spec/dummy/config/routes.rb +0 -4
  46. data/spec/dummy/config.ru +0 -4
  47. data/spec/dummy/db/schema.rb +0 -22
  48. data/spec/dummy/db/seeds.rb +0 -7
  49. data/spec/dummy/public/404.html +0 -26
  50. data/spec/dummy/public/422.html +0 -26
  51. data/spec/dummy/public/500.html +0 -25
  52. data/spec/dummy/public/favicon.ico +0 -0
  53. data/spec/dummy/public/index.html +0 -241
  54. data/spec/dummy/public/robots.txt +0 -5
  55. data/spec/dummy/script/rails +0 -6
  56. data/spec/lib/csv_builder_spec.rb +0 -78
  57. data/spec/models/active_model_spec.rb +0 -16
  58. data/spec/models/widget_spec.rb +0 -61
  59. data/spec/models/widget_with_options_spec.rb +0 -29
  60. data/spec/rails_helper.rb +0 -25
  61. data/spec/spec_helper.rb +0 -10
  62. data/spec/support/widgets_controller_mixin.rb +0 -39
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4d42e156f1d67a08429e702174565e9b9790dd26
4
- data.tar.gz: 34f15ff95d6a14f7498f86af25ef0e245aa20ea2
2
+ SHA256:
3
+ metadata.gz: de71beec63d08a1f5458d90b0c1467356f2fa04ee5c2ba4fc02677567c9ddbe3
4
+ data.tar.gz: f2be9c1aa77fcbd6d3bbfc8b2a47df0581cd34aa4540ed9a885801cbff698de8
5
5
  SHA512:
6
- metadata.gz: 370cafb8ca291e3eaae5b5e83343e388602c23d00ab1ca90e24e20026f3d4df21a604ee8e339223468b7d382c305ba2fc093ece5dd3ecb285246a021da552b2e
7
- data.tar.gz: 06e15f34dd43979e0aa577b5de352cbe26fb7445aa28edf301fbffaa6d3e1aa88d8bf244121ef9c3751e4800f3db72415eebb56de9767b2734cd9849b8c55e09
6
+ metadata.gz: 740b0966dfe962994b91c0989d776f9cc638b9bd03246ff1f352aab3d056a5385f5f95178c455b1703c0acca420d8702b8c4ddbd7ae9b244f9acba9a1581327c
7
+ data.tar.gz: e6ef60c4b2334f72c091d627ec297081b334e6b0796becca4d1bfe36b65e4cdfc268882f01a469e20f1bd8f4b15f9648e41bb05e856cd037e1d12a5539130105
data/CHANGELOG.md CHANGED
@@ -3,21 +3,44 @@
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
- ## [Unreleased][unreleased]
6
+ ## [3.0.0] - 2022-11-08
7
7
 
8
- - Nothing currently
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
+
24
+ ## [2.0.2] - 2015-03-21
25
+
26
+ ### Changed
27
+
28
+ - CSV responses will now be sent with 'Content-Disposition: attachment'
9
29
 
10
30
  ## [2.0.1] - 2015-03-21
11
31
 
12
32
  ### Added
13
33
 
14
- - Allow options to be passed-through to CSV. e.g. `puts (Foo.all + Bar.all).to_csv csv_options: {col_sep:'|'}`
15
- - This changelog (sorry if you care about what happened before then)
34
+ - Allow options to be passed-through to CSV. e.g. `puts (Foo.all + Bar.all).to_csv csv_options: {col_sep:'|'}` ([#4])
35
+ - This changelog
16
36
 
17
37
  ## [2.0.0] - Sometime
18
38
 
19
39
  - Pretty sure this is actually backwards compat. Sorry.
20
40
 
21
- [unreleased]: https://github.com/danielfone/as_csv/compare/v2.0.1...HEAD
41
+ [3.0.0]: https://github.com/danielfone/as_csv/compare/v2.0.2...v3.0.0
42
+ [2.0.2]: https://github.com/danielfone/as_csv/compare/v2.0.1...v2.0.2
22
43
  [2.0.1]: https://github.com/danielfone/as_csv/compare/v2.0.0...v2.0.1
23
44
  [2.0.0]: https://github.com/danielfone/as_csv/compare/v1.0.2...v2.0.0
45
+
46
+ [#4]: https://github.com/danielfone/as_csv/pull/4
data/README.md CHANGED
@@ -1,43 +1,23 @@
1
1
  # AsCSV
2
2
 
3
- [![Build Status](https://travis-ci.org/danielfone/as_csv.png)](https://travis-ci.org/danielfone/as_csv)
4
- [![Dependency Status](https://gemnasium.com/danielfone/as_csv.png)](https://gemnasium.com/danielfone/as_csv)
5
- [![Code Climate](https://codeclimate.com/github/danielfone/as_csv.png)](https://codeclimate.com/github/danielfone/as_csv)
3
+ [![Gem Version](https://badge.fury.io/rb/as_csv.svg)](http://badge.fury.io/rb/as_csv)
4
+ [![Code Climate](https://codeclimate.com/github/danielfone/as_csv/badges/gpa.svg)](https://codeclimate.com/github/danielfone/as_csv)
6
5
 
7
6
  This gem allows you to expose CSV in your apps as you'd expose JSON or XML.
8
7
 
9
- Rails is not strictly required, but currently the magic only works with rails 3.x.
10
-
11
- Ruby 1.8 will work, but by default the order of the columns will not be guaranteed.
8
+ Rails is not strictly required, but currently the magic only works with Rails > 3.x.x.
12
9
 
13
10
  ## Installation
14
11
 
15
12
  Add this line to your application's Gemfile:
16
13
 
17
14
  ```ruby
18
- gem 'as_csv'
15
+ gem 'as_csv', '~> 3.0'
19
16
  ```
20
17
 
21
18
  ## Basic Usage
22
19
 
23
- Simply add `respond_to :csv` in a controller
24
-
25
- ```ruby
26
- class WidgetsController < ApplicationController
27
- respond_to :xml, :json, :csv
28
-
29
- def index
30
- respond_with Widget.all
31
- end
32
-
33
- def show
34
- respond_with Widget.find(params[:id])
35
- end
36
-
37
- end
38
- ```
39
-
40
- Alternatively:
20
+ Simply render CSV in a controller
41
21
 
42
22
  ```ruby
43
23
  class WidgetsController < ApplicationController
@@ -159,7 +139,7 @@ bar1,bar1-description,,acb12345
159
139
  bar2,bar2-description,,xyz98765
160
140
  ```
161
141
 
162
- ### stdlib CSV options
142
+ ### Stdlib CSV options
163
143
  If you need to pass any [options](http://docs.ruby-lang.org/en/2.0.0/CSV.html#method-c-new)
164
144
  to the underlying CSV library:
165
145
 
@@ -183,5 +163,3 @@ bar2|bar2-description||xyz98765
183
163
  6. Commit your changes (`git commit -am 'Add some feature'`)
184
164
  7. Push to the branch (`git push origin my-new-feature`)
185
165
  8. Create new Pull Request
186
-
187
-
@@ -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
@@ -0,0 +1,10 @@
1
+ require 'csv'
2
+ require 'as_csv/csv_builder'
3
+
4
+ module Enumerable
5
+
6
+ def to_csv(opts={})
7
+ AsCSV::CSVBuilder.new(self, opts).to_csv
8
+ end
9
+
10
+ end
@@ -12,7 +12,7 @@ module AsCSV
12
12
  end
13
13
 
14
14
  def to_csv
15
- rows.collect { |row| CSV.generate_line row, csv_options }.join
15
+ rows.collect { |row| CSV.generate_line(row, **csv_options) }.join
16
16
  end
17
17
 
18
18
  private
@@ -1,15 +1,8 @@
1
- require 'as_csv/csv_builder'
1
+ require 'as_csv/active_model/serialization/csv'
2
2
 
3
- module ActiveModel::Serialization
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|
6
+ response.headers['Content-Disposition'] = 'attachment'
14
7
  obj.respond_to?(:to_csv) ? obj.to_csv(options) : obj
15
8
  end
@@ -1,3 +1,3 @@
1
1
  module AsCSV
2
- VERSION = "2.0.1"
2
+ VERSION = "3.0.0"
3
3
  end
data/lib/as_csv.rb CHANGED
@@ -1,3 +1,4 @@
1
1
  require "as_csv/version"
2
2
  require "as_csv/core_ext/array"
3
+ require "as_csv/core_ext/enumerable"
3
4
  require "as_csv/railtie"
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: 2.0.1
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: 2015-03-20 00:00:00.000000000 Z
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: '3.0'
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: '3.0'
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: '3.0'
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: '3.0'
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: '3.0'
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: '3.0'
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: '3.0'
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: '3.0'
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
- rubyforge_project:
197
- rubygems_version: 2.4.6
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
@@ -1,6 +0,0 @@
1
- language: ruby
2
- script: bundle exec rspec
3
- rvm:
4
- - 2.0.0
5
- - 1.9.3
6
- - jruby-19mode
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in as_csv.gemspec
4
- gemspec
5
-
6
- gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
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')
@@ -1,5 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe RenderWidgetsController, :widgets_controllers do
4
- exercise_controller
5
- end
@@ -1,5 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe RespondWithWidgetsController, :widgets_controllers do
4
- exercise_controller
5
- end
@@ -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