as_csv 2.0.2 → 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 +19 -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 +2 -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: 5286ae39a5fc09dac9e92a8cd97e3c3ff88b9115
4
- data.tar.gz: 97362f687b28ee4734d89aaf0a6e36f0dd31f6c0
2
+ SHA256:
3
+ metadata.gz: de71beec63d08a1f5458d90b0c1467356f2fa04ee5c2ba4fc02677567c9ddbe3
4
+ data.tar.gz: f2be9c1aa77fcbd6d3bbfc8b2a47df0581cd34aa4540ed9a885801cbff698de8
5
5
  SHA512:
6
- metadata.gz: fcde99eea906d30932c5a1ca484b2f0832f628e41d4f98735723657973c9688a4b7e558d04cf803b8f37f71e12b411345d0396d6c95f6c71a40a32cefc02fb5c
7
- data.tar.gz: 8bbb23771b9173494b54e3aa001dcab49d83f87bb4b922b49c3667dbb57bae53b31ccc50c905297cfdd44a8060b702f30136af27ef2967b448df3169f24cd073
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', '~> 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,14 +1,6 @@
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|
14
6
  response.headers['Content-Disposition'] = 'attachment'
@@ -1,3 +1,3 @@
1
1
  module AsCSV
2
- VERSION = "2.0.2"
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.2
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-10-06 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.8
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