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.
Files changed (62) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +2 -25
  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 +23 -12
  8. data/lib/as_csv/version.rb +1 -1
  9. data/lib/as_csv.rb +2 -1
  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: 5286ae39a5fc09dac9e92a8cd97e3c3ff88b9115
4
- data.tar.gz: 97362f687b28ee4734d89aaf0a6e36f0dd31f6c0
2
+ SHA256:
3
+ metadata.gz: 8af870672a5c660bf534d462e8bc5cb16b4212a944c6ea471196f54cc5c422f6
4
+ data.tar.gz: fb419f709a93da5293e05315b2ffa0cb41c3adb9d3dc81b61534717198e3dfbd
5
5
  SHA512:
6
- metadata.gz: fcde99eea906d30932c5a1ca484b2f0832f628e41d4f98735723657973c9688a4b7e558d04cf803b8f37f71e12b411345d0396d6c95f6c71a40a32cefc02fb5c
7
- data.tar.gz: 8bbb23771b9173494b54e3aa001dcab49d83f87bb4b922b49c3667dbb57bae53b31ccc50c905297cfdd44a8060b702f30136af27ef2967b448df3169f24cd073
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
  [![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', '~> 2.0'
15
+ gem 'as_csv', '~> 3.0'
20
16
  ```
21
17
 
22
18
  ## Basic Usage
23
19
 
24
- Simply add `respond_to :csv` in a controller
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
@@ -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,16 +1,27 @@
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
3
+ # Use the Railtie to hook into the Rails initialization process
4
+ module AsCsv
5
+ class Railtie < Rails::Railtie
7
6
 
8
- def to_csv(*args)
9
- AsCSV::CSVBuilder.new(self, *args).to_csv
10
- end
11
- end
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
- ActionController::Renderers.add :csv do |obj, options|
14
- response.headers['Content-Disposition'] = 'attachment'
15
- obj.respond_to?(:to_csv) ? obj.to_csv(options) : obj
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
@@ -1,3 +1,3 @@
1
1
  module AsCSV
2
- VERSION = "2.0.2"
2
+ VERSION = "3.0.1"
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/railtie"
3
+ require "as_csv/core_ext/enumerable"
4
+ require "as_csv/railtie" if defined?(Rails)
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.2
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: 2015-10-06 00:00:00.000000000 Z
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: '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.8
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
@@ -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