record_collection 0.3.2

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 (92) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/.travis.yml +3 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +217 -0
  7. data/Rakefile +16 -0
  8. data/app/assets/images/record_collection/.keep +0 -0
  9. data/app/assets/javascripts/record_collection/application.js.coffee +1 -0
  10. data/app/assets/javascripts/record_collection/multi_select.js.coffee +66 -0
  11. data/app/assets/javascripts/record_collection/optionals.js.coffee +101 -0
  12. data/app/assets/stylesheets/record_collection/application.css +15 -0
  13. data/app/assets/stylesheets/record_collection/multi_select.css.sass +20 -0
  14. data/app/assets/stylesheets/record_collection/optionals.css.sass +48 -0
  15. data/app/controllers/record_collection/application_controller.rb +4 -0
  16. data/app/helpers/record_collection/application_helper.rb +4 -0
  17. data/app/views/layouts/record_collection/application.html.erb +14 -0
  18. data/lib/record_collection.rb +12 -0
  19. data/lib/record_collection/base.rb +98 -0
  20. data/lib/record_collection/engine.rb +5 -0
  21. data/lib/record_collection/name.rb +7 -0
  22. data/lib/record_collection/rails/form_options_helper.rb +48 -0
  23. data/lib/record_collection/rails/routes.rb +21 -0
  24. data/lib/record_collection/version.rb +3 -0
  25. data/record_collection.gemspec +43 -0
  26. data/spec/dummy/README.rdoc +28 -0
  27. data/spec/dummy/Rakefile +6 -0
  28. data/spec/dummy/app/assets/images/.keep +0 -0
  29. data/spec/dummy/app/assets/javascripts/application.js.coffee +10 -0
  30. data/spec/dummy/app/assets/stylesheets/application.css.sass +4 -0
  31. data/spec/dummy/app/assets/stylesheets/components/_forms.css.sass +0 -0
  32. data/spec/dummy/app/assets/stylesheets/components/_structure.css.sass +0 -0
  33. data/spec/dummy/app/assets/stylesheets/scaffolds.scss +69 -0
  34. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  35. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  36. data/spec/dummy/app/controllers/employees_controller.rb +75 -0
  37. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  38. data/spec/dummy/app/mailers/.keep +0 -0
  39. data/spec/dummy/app/models/.keep +0 -0
  40. data/spec/dummy/app/models/concerns/.keep +0 -0
  41. data/spec/dummy/app/models/employee.rb +2 -0
  42. data/spec/dummy/app/models/employee/collection.rb +6 -0
  43. data/spec/dummy/app/models/project.rb +2 -0
  44. data/spec/dummy/app/views/application/_form_errors.html.slim +8 -0
  45. data/spec/dummy/app/views/employees/_form.html.erb +25 -0
  46. data/spec/dummy/app/views/employees/batch_actions.html.slim +13 -0
  47. data/spec/dummy/app/views/employees/edit.html.erb +6 -0
  48. data/spec/dummy/app/views/employees/index.html.slim +25 -0
  49. data/spec/dummy/app/views/employees/new.html.erb +5 -0
  50. data/spec/dummy/app/views/employees/show.html.erb +14 -0
  51. data/spec/dummy/app/views/layouts/application.html.slim +10 -0
  52. data/spec/dummy/bin/bundle +3 -0
  53. data/spec/dummy/bin/rails +4 -0
  54. data/spec/dummy/bin/rake +4 -0
  55. data/spec/dummy/bin/setup +29 -0
  56. data/spec/dummy/config.ru +4 -0
  57. data/spec/dummy/config/application.rb +26 -0
  58. data/spec/dummy/config/boot.rb +5 -0
  59. data/spec/dummy/config/database.yml +25 -0
  60. data/spec/dummy/config/environment.rb +5 -0
  61. data/spec/dummy/config/environments/development.rb +41 -0
  62. data/spec/dummy/config/environments/production.rb +79 -0
  63. data/spec/dummy/config/environments/test.rb +42 -0
  64. data/spec/dummy/config/initializers/assets.rb +11 -0
  65. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  66. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  67. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  68. data/spec/dummy/config/initializers/inflections.rb +16 -0
  69. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  70. data/spec/dummy/config/initializers/session_store.rb +3 -0
  71. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  72. data/spec/dummy/config/locales/en.yml +23 -0
  73. data/spec/dummy/config/locales/models.en.yml +5 -0
  74. data/spec/dummy/config/routes.rb +3 -0
  75. data/spec/dummy/config/secrets.yml +22 -0
  76. data/spec/dummy/db/migrate/20150203124634_create_employees.rb +10 -0
  77. data/spec/dummy/db/migrate/20150204103712_add_vegan_to_employees.rb +5 -0
  78. data/spec/dummy/db/migrate/20150204103925_add_admin_to_employees.rb +5 -0
  79. data/spec/dummy/db/migrate/20150204125014_create_projects.rb +11 -0
  80. data/spec/dummy/db/schema.rb +33 -0
  81. data/spec/dummy/lib/assets/.keep +0 -0
  82. data/spec/dummy/log/.keep +0 -0
  83. data/spec/dummy/public/404.html +67 -0
  84. data/spec/dummy/public/422.html +67 -0
  85. data/spec/dummy/public/500.html +66 -0
  86. data/spec/dummy/public/favicon.ico +0 -0
  87. data/spec/features/multi_select_spec.rb +23 -0
  88. data/spec/fixtures/collections.rb +0 -0
  89. data/spec/record_selection/base_spec.rb +113 -0
  90. data/spec/spec_helper.rb +26 -0
  91. data/spec/validations_spec.rb +19 -0
  92. metadata +482 -0
File without changes
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.feature "Multi select", type: :feature do
4
+ scenario "Selecting all", js: true do
5
+ Employee.create name: 'E1', section: 'ABC', admin: true, vegan: false
6
+ Employee.create name: 'E2', section: 'QNP', admin: false, vegan: false
7
+ visit employees_path
8
+ find('.selection-toggle-all').click
9
+ find('.actions-button').click
10
+
11
+ page.should have_selector ".optional-input-activator-container.section.inactive"
12
+ page.should_not have_selector ".optional-attribute-container.section" # hidden
13
+ page.should have_selector ".optional-attribute-container.admin.inactive"
14
+ page.should have_selector ".optional-attribute-container.vegan.active"
15
+
16
+ # Activate admin, and see that they all become false
17
+ find('.admin .optional-boolean-activator-toggle').click
18
+ find('[name="commit"]').click
19
+
20
+ Employee.pluck(:admin).should be_none
21
+
22
+ end
23
+ end
File without changes
@@ -0,0 +1,113 @@
1
+ require 'spec_helper'
2
+
3
+ class ActiveCollectionTest < RecordCollection::Base
4
+ attribute :check1, type: Boolean
5
+ attribute :check2, type: Boolean
6
+ attribute :notes
7
+ self.record_class = Project
8
+ end
9
+
10
+ RSpec.describe RecordCollection::Base do
11
+ subject { described_class.new }
12
+
13
+ describe '#one?' do
14
+ it 'is false without a collection' do
15
+ subject.one?.should be false
16
+ end
17
+
18
+ it 'is true with exactly one record' do
19
+ described_class.new([Object.new]).should be_one
20
+ end
21
+
22
+ it 'is false with more than one records' do
23
+ described_class.new([Object.new, Object.new]).should_not be_one
24
+ end
25
+ end
26
+
27
+ describe '#first and #last' do
28
+ it 'returns the first and last object of the collection' do
29
+ o1 = Object.new
30
+ o2 = Object.new
31
+ described_class.new([o1, o2]).first.should be o1
32
+ described_class.new([o1, o2]).last.should be o2
33
+ end
34
+ end
35
+
36
+ describe 'form representation' do
37
+ it 'has prefix collection for all types in forms' do
38
+ ActiveCollectionTest.model_name.param_key.should eq 'collection'
39
+ end
40
+ end
41
+
42
+ describe '.record_class' do
43
+ it 'Returns the base class inferred based on namespace' do
44
+ Employee::Collection.record_class.should eq Employee
45
+ end
46
+
47
+ it 'returns a specified class when explicitly set on class level' do
48
+ ActiveCollectionTest.record_class.should eq Project
49
+ end
50
+ end
51
+
52
+ describe '#update_collection_attributes!' do
53
+ it 'Changes only attributes given by params of the collection and defined in the collection' do
54
+ record = Employee.new(name: 'Ben', section: 'ABC', admin: true, vegan: false)
55
+ collection = Employee::Collection.new([record], name: 'Harry', section: '', vegan: true)
56
+ collection.update_collection_attributes!
57
+ record.name.should eq "Ben" # not a collection attribute
58
+ record.section.should eq "" # Blank strings are set, only nil values not
59
+ record.admin.should be true # not given as argument to collection
60
+ record.vegan.should be true # this one should be changed
61
+ end
62
+ end
63
+
64
+ describe '#uniform_collection_attribute' do
65
+ let(:collection_class){ ActiveCollectionTest }
66
+ describe 'boolean attribute' do
67
+ let(:record) { Struct.new(:check1) }
68
+
69
+ it 'returns false for mixed falsy boolean values' do
70
+ expect( collection_class.new([record.new, record.new(false)]).uniform_collection_attribute(:check1)).to be false
71
+ end
72
+
73
+ it 'returns nil for mixes boolean values' do
74
+ expect( collection_class.new([record.new, record.new(true)]).uniform_collection_attribute(:check1)).to be nil
75
+ end
76
+
77
+ it 'returns true for all truthy values' do
78
+ expect( collection_class.new([record.new(true), record.new(true)]).uniform_collection_attribute(:check1)).to be true
79
+ end
80
+ end
81
+
82
+ describe 'untyped attribute' do
83
+ let(:record) { Struct.new(:notes) }
84
+ it 'returns nil for mixed values truthy and falsy' do
85
+ collection = collection_class.new([record.new, record.new('NOTE2')])
86
+ expect( collection.uniform_collection_attribute :notes ).to be nil
87
+ end
88
+
89
+ it 'returns nil for mixed truthy values' do
90
+ collection = collection_class.new([record.new('NOTE1'), record.new('NOTE2')])
91
+ expect( collection.uniform_collection_attribute :notes ).to be nil
92
+ end
93
+
94
+ it 'returns the value for all the same values, but does not set the value' do
95
+ collection = collection_class.new([record.new('NOTE2'), record.new('NOTE2')])
96
+ expect( collection.uniform_collection_attribute :notes ).to eq 'NOTE2'
97
+ expect( collection.notes ).to be nil
98
+ end
99
+
100
+ it 'returns the value for all the same values, and sets the value if set_if_nil is given' do
101
+ collection = collection_class.new([record.new('NOTE2'), record.new('NOTE2')])
102
+ expect( collection.uniform_collection_attribute :notes, set_if_nil: true ).to eq 'NOTE2'
103
+ expect( collection.notes ).to eq 'NOTE2'
104
+ end
105
+
106
+ it 'returns the value for all the same values, and does not set the value if set_if_nil is given, but already set (eg: by invalid form)' do
107
+ collection = collection_class.new([record.new('NOTE2'), record.new('NOTE2')], notes: 'Invalid set form value')
108
+ expect( collection.uniform_collection_attribute :notes, set_if_nil: true ).to eq 'NOTE2'
109
+ expect( collection.notes ).to eq 'Invalid set form value'
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,26 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+
3
+ require 'pry'
4
+
5
+ require File.expand_path("../../spec/dummy/config/environment.rb", __FILE__)
6
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../spec/dummy/db/migrate", __FILE__)]
7
+
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
9
+
10
+ require 'rspec/rails'
11
+ require 'record_collection'
12
+ require 'database_cleaner'
13
+ require 'capybara/rails'
14
+ require 'capybara/rspec'
15
+ require 'capybara/poltergeist'
16
+
17
+ Capybara.javascript_driver = :poltergeist
18
+ DatabaseCleaner.clean_with :truncation
19
+ RSpec.configure do |config|
20
+ config.mock_with :rspec
21
+ config.include Dummy::Application.routes.url_helpers, type: :feature
22
+
23
+ config.expect_with :rspec do |c|
24
+ c.syntax = [:should, :expect]
25
+ end
26
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Validations' do
4
+ describe 'conditional validations' do
5
+ let(:record_class){ Employee }
6
+ let(:collection_class) { Employee::Collection }
7
+ it 'is valid without attribute present' do
8
+ collection_class.new([]).should be_valid
9
+ end
10
+
11
+ it 'is valid with valid section attribute' do
12
+ collection_class.new([], section: 'ABC').should be_valid
13
+ end
14
+
15
+ it 'is invalid with invalid section attribute' do
16
+ collection_class.new([], section: 'SECTION3').should be_invalid
17
+ end
18
+ end
19
+ end
metadata ADDED
@@ -0,0 +1,482 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: record_collection
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.2
5
+ platform: ruby
6
+ authors:
7
+ - Benjamin ter Kuile
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-02-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 3.1.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 3.1.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 3.1.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 3.1.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0.1'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 4.2.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 4.2.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: sqlite3
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: slim-rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: coffee-rails
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: sass-rails
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: font-awesome-rails
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: jquery-rails
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: js-routes
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: capybara
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: poltergeist
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: launchy
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: database_cleaner
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: active_attr
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: 0.8.5
258
+ type: :runtime
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: 0.8.5
265
+ - !ruby/object:Gem::Dependency
266
+ name: activemodel
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '4.1'
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '4.1'
279
+ - !ruby/object:Gem::Dependency
280
+ name: railties
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '3.1'
286
+ type: :runtime
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '3.1'
293
+ description: This gem is there to aid you to work on subsets or rails models. This
294
+ gem helps you to create forms and controllers that act on collections of models
295
+ email:
296
+ - bterkuile@gmail.com
297
+ executables: []
298
+ extensions: []
299
+ extra_rdoc_files: []
300
+ files:
301
+ - ".gitignore"
302
+ - ".travis.yml"
303
+ - Gemfile
304
+ - LICENSE.txt
305
+ - README.md
306
+ - Rakefile
307
+ - app/assets/images/record_collection/.keep
308
+ - app/assets/javascripts/record_collection/application.js.coffee
309
+ - app/assets/javascripts/record_collection/multi_select.js.coffee
310
+ - app/assets/javascripts/record_collection/optionals.js.coffee
311
+ - app/assets/stylesheets/record_collection/application.css
312
+ - app/assets/stylesheets/record_collection/multi_select.css.sass
313
+ - app/assets/stylesheets/record_collection/optionals.css.sass
314
+ - app/controllers/record_collection/application_controller.rb
315
+ - app/helpers/record_collection/application_helper.rb
316
+ - app/views/layouts/record_collection/application.html.erb
317
+ - lib/record_collection.rb
318
+ - lib/record_collection/base.rb
319
+ - lib/record_collection/engine.rb
320
+ - lib/record_collection/name.rb
321
+ - lib/record_collection/rails/form_options_helper.rb
322
+ - lib/record_collection/rails/routes.rb
323
+ - lib/record_collection/version.rb
324
+ - record_collection.gemspec
325
+ - spec/dummy/README.rdoc
326
+ - spec/dummy/Rakefile
327
+ - spec/dummy/app/assets/images/.keep
328
+ - spec/dummy/app/assets/javascripts/application.js.coffee
329
+ - spec/dummy/app/assets/stylesheets/application.css.sass
330
+ - spec/dummy/app/assets/stylesheets/components/_forms.css.sass
331
+ - spec/dummy/app/assets/stylesheets/components/_structure.css.sass
332
+ - spec/dummy/app/assets/stylesheets/scaffolds.scss
333
+ - spec/dummy/app/controllers/application_controller.rb
334
+ - spec/dummy/app/controllers/concerns/.keep
335
+ - spec/dummy/app/controllers/employees_controller.rb
336
+ - spec/dummy/app/helpers/application_helper.rb
337
+ - spec/dummy/app/mailers/.keep
338
+ - spec/dummy/app/models/.keep
339
+ - spec/dummy/app/models/concerns/.keep
340
+ - spec/dummy/app/models/employee.rb
341
+ - spec/dummy/app/models/employee/collection.rb
342
+ - spec/dummy/app/models/project.rb
343
+ - spec/dummy/app/views/application/_form_errors.html.slim
344
+ - spec/dummy/app/views/employees/_form.html.erb
345
+ - spec/dummy/app/views/employees/batch_actions.html.slim
346
+ - spec/dummy/app/views/employees/edit.html.erb
347
+ - spec/dummy/app/views/employees/index.html.slim
348
+ - spec/dummy/app/views/employees/new.html.erb
349
+ - spec/dummy/app/views/employees/show.html.erb
350
+ - spec/dummy/app/views/layouts/application.html.slim
351
+ - spec/dummy/bin/bundle
352
+ - spec/dummy/bin/rails
353
+ - spec/dummy/bin/rake
354
+ - spec/dummy/bin/setup
355
+ - spec/dummy/config.ru
356
+ - spec/dummy/config/application.rb
357
+ - spec/dummy/config/boot.rb
358
+ - spec/dummy/config/database.yml
359
+ - spec/dummy/config/environment.rb
360
+ - spec/dummy/config/environments/development.rb
361
+ - spec/dummy/config/environments/production.rb
362
+ - spec/dummy/config/environments/test.rb
363
+ - spec/dummy/config/initializers/assets.rb
364
+ - spec/dummy/config/initializers/backtrace_silencers.rb
365
+ - spec/dummy/config/initializers/cookies_serializer.rb
366
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
367
+ - spec/dummy/config/initializers/inflections.rb
368
+ - spec/dummy/config/initializers/mime_types.rb
369
+ - spec/dummy/config/initializers/session_store.rb
370
+ - spec/dummy/config/initializers/wrap_parameters.rb
371
+ - spec/dummy/config/locales/en.yml
372
+ - spec/dummy/config/locales/models.en.yml
373
+ - spec/dummy/config/routes.rb
374
+ - spec/dummy/config/secrets.yml
375
+ - spec/dummy/db/migrate/20150203124634_create_employees.rb
376
+ - spec/dummy/db/migrate/20150204103712_add_vegan_to_employees.rb
377
+ - spec/dummy/db/migrate/20150204103925_add_admin_to_employees.rb
378
+ - spec/dummy/db/migrate/20150204125014_create_projects.rb
379
+ - spec/dummy/db/schema.rb
380
+ - spec/dummy/lib/assets/.keep
381
+ - spec/dummy/log/.keep
382
+ - spec/dummy/public/404.html
383
+ - spec/dummy/public/422.html
384
+ - spec/dummy/public/500.html
385
+ - spec/dummy/public/favicon.ico
386
+ - spec/features/multi_select_spec.rb
387
+ - spec/fixtures/collections.rb
388
+ - spec/record_selection/base_spec.rb
389
+ - spec/spec_helper.rb
390
+ - spec/validations_spec.rb
391
+ homepage: http://www.companytools.nl/
392
+ licenses:
393
+ - MIT
394
+ metadata: {}
395
+ post_install_message:
396
+ rdoc_options: []
397
+ require_paths:
398
+ - lib
399
+ required_ruby_version: !ruby/object:Gem::Requirement
400
+ requirements:
401
+ - - ">="
402
+ - !ruby/object:Gem::Version
403
+ version: '0'
404
+ required_rubygems_version: !ruby/object:Gem::Requirement
405
+ requirements:
406
+ - - ">="
407
+ - !ruby/object:Gem::Version
408
+ version: '0'
409
+ requirements: []
410
+ rubyforge_project:
411
+ rubygems_version: 2.4.3
412
+ signing_key:
413
+ specification_version: 4
414
+ summary: Manage collections of records in Ruby on Rails
415
+ test_files:
416
+ - spec/dummy/README.rdoc
417
+ - spec/dummy/Rakefile
418
+ - spec/dummy/app/assets/images/.keep
419
+ - spec/dummy/app/assets/javascripts/application.js.coffee
420
+ - spec/dummy/app/assets/stylesheets/application.css.sass
421
+ - spec/dummy/app/assets/stylesheets/components/_forms.css.sass
422
+ - spec/dummy/app/assets/stylesheets/components/_structure.css.sass
423
+ - spec/dummy/app/assets/stylesheets/scaffolds.scss
424
+ - spec/dummy/app/controllers/application_controller.rb
425
+ - spec/dummy/app/controllers/concerns/.keep
426
+ - spec/dummy/app/controllers/employees_controller.rb
427
+ - spec/dummy/app/helpers/application_helper.rb
428
+ - spec/dummy/app/mailers/.keep
429
+ - spec/dummy/app/models/.keep
430
+ - spec/dummy/app/models/concerns/.keep
431
+ - spec/dummy/app/models/employee.rb
432
+ - spec/dummy/app/models/employee/collection.rb
433
+ - spec/dummy/app/models/project.rb
434
+ - spec/dummy/app/views/application/_form_errors.html.slim
435
+ - spec/dummy/app/views/employees/_form.html.erb
436
+ - spec/dummy/app/views/employees/batch_actions.html.slim
437
+ - spec/dummy/app/views/employees/edit.html.erb
438
+ - spec/dummy/app/views/employees/index.html.slim
439
+ - spec/dummy/app/views/employees/new.html.erb
440
+ - spec/dummy/app/views/employees/show.html.erb
441
+ - spec/dummy/app/views/layouts/application.html.slim
442
+ - spec/dummy/bin/bundle
443
+ - spec/dummy/bin/rails
444
+ - spec/dummy/bin/rake
445
+ - spec/dummy/bin/setup
446
+ - spec/dummy/config.ru
447
+ - spec/dummy/config/application.rb
448
+ - spec/dummy/config/boot.rb
449
+ - spec/dummy/config/database.yml
450
+ - spec/dummy/config/environment.rb
451
+ - spec/dummy/config/environments/development.rb
452
+ - spec/dummy/config/environments/production.rb
453
+ - spec/dummy/config/environments/test.rb
454
+ - spec/dummy/config/initializers/assets.rb
455
+ - spec/dummy/config/initializers/backtrace_silencers.rb
456
+ - spec/dummy/config/initializers/cookies_serializer.rb
457
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
458
+ - spec/dummy/config/initializers/inflections.rb
459
+ - spec/dummy/config/initializers/mime_types.rb
460
+ - spec/dummy/config/initializers/session_store.rb
461
+ - spec/dummy/config/initializers/wrap_parameters.rb
462
+ - spec/dummy/config/locales/en.yml
463
+ - spec/dummy/config/locales/models.en.yml
464
+ - spec/dummy/config/routes.rb
465
+ - spec/dummy/config/secrets.yml
466
+ - spec/dummy/db/migrate/20150203124634_create_employees.rb
467
+ - spec/dummy/db/migrate/20150204103712_add_vegan_to_employees.rb
468
+ - spec/dummy/db/migrate/20150204103925_add_admin_to_employees.rb
469
+ - spec/dummy/db/migrate/20150204125014_create_projects.rb
470
+ - spec/dummy/db/schema.rb
471
+ - spec/dummy/lib/assets/.keep
472
+ - spec/dummy/log/.keep
473
+ - spec/dummy/public/404.html
474
+ - spec/dummy/public/422.html
475
+ - spec/dummy/public/500.html
476
+ - spec/dummy/public/favicon.ico
477
+ - spec/features/multi_select_spec.rb
478
+ - spec/fixtures/collections.rb
479
+ - spec/record_selection/base_spec.rb
480
+ - spec/spec_helper.rb
481
+ - spec/validations_spec.rb
482
+ has_rdoc: