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.
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