message_train 0.6.17 → 0.7.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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +16 -13
  3. data/.rubocop_todo.yml +12 -0
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +1 -1
  6. data/Gemfile +28 -30
  7. data/README.md +284 -0
  8. data/Rakefile +6 -7
  9. data/VERSION +1 -1
  10. data/app/assets/javascripts/ckeditor/{config.js.coffee → config.js} +7 -6
  11. data/app/assets/stylesheets/message_train.scss +0 -8
  12. data/app/controllers/concerns/message_train_authorization.rb +37 -0
  13. data/app/controllers/concerns/message_train_support.rb +41 -69
  14. data/app/controllers/message_train/application_controller.rb +1 -0
  15. data/app/controllers/message_train/boxes_controller.rb +5 -4
  16. data/app/controllers/message_train/conversations_controller.rb +7 -5
  17. data/app/controllers/message_train/messages_controller.rb +43 -27
  18. data/app/controllers/message_train/participants_controller.rb +14 -25
  19. data/app/controllers/message_train/unsubscribes_controller.rb +96 -61
  20. data/app/helpers/message_train/application_helper.rb +13 -7
  21. data/app/helpers/message_train/attachments_helper.rb +4 -12
  22. data/app/helpers/message_train/boxes_helper.rb +4 -14
  23. data/app/helpers/message_train/collectives_helper.rb +23 -29
  24. data/app/helpers/message_train/conversations_helper.rb +52 -30
  25. data/app/helpers/message_train/messages_helper.rb +33 -20
  26. data/app/mailers/message_train/receipt_mailer.rb +22 -12
  27. data/app/models/message_train/attachment.rb +2 -2
  28. data/app/models/message_train/box.rb +182 -228
  29. data/app/models/message_train/conversation.rb +100 -103
  30. data/app/models/message_train/ignore.rb +83 -4
  31. data/app/models/message_train/message.rb +66 -117
  32. data/app/models/message_train/receipt.rb +73 -49
  33. data/app/views/message_train/boxes/show.html.haml +11 -7
  34. data/config/locales/en.yml +1 -0
  35. data/config/routes.rb +6 -12
  36. data/lib/message_train.rb +3 -1
  37. data/lib/message_train/class_methods.rb +51 -0
  38. data/lib/message_train/configuration.rb +28 -3
  39. data/lib/message_train/instance_methods.rb +209 -0
  40. data/lib/message_train/mixin.rb +25 -320
  41. data/message_train.gemspec +83 -83
  42. data/spec/controllers/message_train/boxes_controller_spec.rb +37 -19
  43. data/spec/controllers/message_train/concerns_spec.rb +21 -3
  44. data/spec/controllers/message_train/conversations_controller_spec.rb +41 -18
  45. data/spec/controllers/message_train/messages_controller_spec.rb +112 -31
  46. data/spec/controllers/message_train/participants_controller_spec.rb +33 -7
  47. data/spec/controllers/message_train/unsubscribes_controller_spec.rb +10 -8
  48. data/spec/dummy/app/assets/stylesheets/{application.css.scss → application.scss} +2 -1
  49. data/spec/dummy/app/assets/stylesheets/bootstrap-everything.scss +54 -0
  50. data/spec/dummy/app/models/group.rb +1 -1
  51. data/spec/dummy/app/views/layouts/application.html.haml +9 -8
  52. data/spec/dummy/bin/setup +8 -8
  53. data/spec/dummy/config/application.rb +0 -3
  54. data/spec/dummy/config/environments/test.rb +4 -2
  55. data/spec/dummy/db/schema.rb +94 -103
  56. data/spec/dummy/db/test.sqlite3 +0 -0
  57. data/spec/factories/attachment.rb +3 -1
  58. data/spec/factories/message.rb +2 -3
  59. data/spec/features/boxes_spec.rb +0 -3
  60. data/spec/helpers/message_train/application_helper_spec.rb +3 -2
  61. data/spec/helpers/message_train/attachment_helper_spec.rb +4 -0
  62. data/spec/helpers/message_train/boxes_helper_spec.rb +1 -0
  63. data/spec/helpers/message_train/collectives_helper_spec.rb +1 -0
  64. data/spec/helpers/message_train/conversations_helper_spec.rb +3 -2
  65. data/spec/helpers/message_train/messages_helper_spec.rb +2 -1
  66. data/spec/models/group_spec.rb +6 -4
  67. data/spec/models/message_train/box_spec.rb +0 -88
  68. data/spec/models/message_train/ignore_spec.rb +65 -0
  69. data/spec/models/message_train/message_spec.rb +6 -5
  70. data/spec/models/message_train/receipt_spec.rb +6 -8
  71. data/spec/models/role_spec.rb +2 -2
  72. data/spec/models/user_spec.rb +29 -101
  73. data/spec/rails_helper.rb +16 -30
  74. data/spec/support/feature_behaviors.rb +2 -1
  75. data/spec/support/shared_connection.rb +5 -0
  76. data/spec/support/utilities.rb +7 -8
  77. metadata +145 -120
  78. data/README.rdoc +0 -175
  79. data/spec/dummy/app/models/.keep +0 -0
  80. data/spec/dummy/log/.keep +0 -0
@@ -1,335 +1,40 @@
1
1
  module MessageTrain
2
- # Mixin for including in a model
2
+ # Mixin module automatically extended by ActiveRecord::Base
3
3
  module Mixin
4
4
  extend ActiveSupport::Concern
5
- class_methods do
6
- def message_train(options = {})
7
- table_sym = table_name.to_sym
8
5
 
9
- relationships = if options[:only]
10
- [options[:only]].flatten
11
- else
12
- [:sender, :recipient]
13
- end
14
- options[:except] && relationships -= [options[:except]].flatten
6
+ # Run message_train mixin in your model to enable
7
+ def message_train(options = {})
8
+ cattr_accessor :message_train_table_sym, :message_train_relationships
9
+ table_sym = table_name.to_sym
15
10
 
16
- if relationships.include? :sender
17
- has_many :messages, as: :sender, class_name: 'MessageTrain::Message'
18
- end
11
+ relationships = [options.delete(:only) || [:sender, :recipient]].flatten
12
+ relationships -= [options.delete(:except) || []].flatten
19
13
 
20
- if relationships.include? :recipient
21
- has_many(
22
- :receipts,
23
- as: :recipient,
24
- class_name: 'MessageTrain::Receipt'
25
- )
26
- has_many(
27
- :unsubscribes,
28
- as: :recipient,
29
- class_name: 'MessageTrain::Unsubscribe'
30
- )
31
- end
14
+ associations_from_relationships(relationships)
32
15
 
33
- MessageTrain.configure(MessageTrain.configuration) do |config|
34
- if options[:name_column].present?
35
- config.name_columns[table_sym] = options[:name_column]
36
- end
16
+ MessageTrain.configure_table(table_sym, name, options)
37
17
 
38
- if options[:slug_column].present?
39
- config.slug_columns[table_sym] = options[:slug_column]
40
- end
18
+ self.message_train_relationships = relationships
19
+ self.message_train_table_sym = table_sym
41
20
 
42
- if options[:address_book_method].present?
43
- config.address_book_methods[table_sym] = options[
44
- :address_book_method
45
- ]
46
- end
47
-
48
- if relationships.include? :recipient
49
- config.recipient_tables[table_sym] = name
50
- end
51
-
52
- if options[:collectives_for_recipient].present?
53
- config.collectives_for_recipient_methods[table_sym] = options[
54
- :collectives_for_recipient
55
- ]
56
- end
57
-
58
- if options[:valid_senders].present?
59
- config.valid_senders_methods[table_sym] = options[:valid_senders]
60
- end
61
-
62
- if options[:valid_recipients].present?
63
- config.valid_recipients_methods[table_sym] = options[
64
- :valid_recipients
65
- ]
66
- end
67
- end
68
-
69
- send(:define_method, :slug_part) do
70
- send(MessageTrain.configuration.slug_columns[table_sym] || :slug)
71
- end
72
-
73
- send(:define_method, :path_part) do
74
- if MessageTrain.configuration.valid_senders_methods[
75
- table_sym
76
- ].present?
77
- # This must mean it's a collective
78
- "#{self.class.table_name}:#{slug_part}"
79
- end
80
- end
81
-
82
- send(:define_method, :valid_senders) do
83
- send(
84
- MessageTrain.configuration.valid_senders_methods[
85
- self.class.table_name.to_sym
86
- ] || :self_collection
87
- )
88
- end
89
-
90
- send(:define_method, :allows_sending_by?) do |sender|
91
- valid_senders.include? sender
92
- end
93
-
94
- send(:define_method, :valid_recipients) do
95
- send(
96
- MessageTrain.configuration.valid_recipients_methods[
97
- self.class.table_name.to_sym
98
- ] || :self_collection
99
- )
100
- end
101
-
102
- send(:define_method, :allows_receiving_by?) do |recipient|
103
- if valid_recipients.nil? || valid_recipients.empty?
104
- false
105
- else
106
- valid_recipients.include? recipient
107
- end
108
- end
109
-
110
- send(:define_method, :self_collection) do
111
- # This turns a single record into an active record collection.
112
- model = self.class
113
- model.where(id: id)
114
- end
115
-
116
- if relationships.include? :recipient
117
- send(:define_method, :box) do |*args|
118
- case args.count
119
- when 0
120
- division = :in
121
- participant = self
122
- when 1
123
- division = args[0] || :in
124
- participant = self
125
- when 2
126
- division = args[0] || :in
127
- participant = args[1] || self
128
- else
129
- raise :wrong_number_of_arguments_right_wrong.l(
130
- right: '0..2',
131
- wrong: args.count.to_s,
132
- thing: self.class.name
133
- )
134
- end
135
- @box ||= MessageTrain::Box.new(self, division, participant)
136
- end
137
-
138
- send(:define_method, :collective_boxes) do |*args|
139
- case args.count
140
- when 0
141
- division = :in
142
- participant = self
143
- when 1
144
- division = args[0] || :in
145
- participant = self
146
- when 2
147
- division = args[0] || :in
148
- participant = args[1] || self
149
- else # Treat all but the division as a hash of options
150
- raise :wrong_number_of_arguments_right_wrong.l(
151
- right: '0..2',
152
- wrong: args.count.to_s,
153
- thing: self.class.name
154
- )
155
- end
156
- cb_tables = MessageTrain.configuration
157
- .collectives_for_recipient_methods
158
- collective_boxes = {}
159
- unless cb_tables.empty?
160
- cb_tables.each do |my_table_symbol, collectives_method|
161
- class_name = MessageTrain.configuration
162
- .recipient_tables[my_table_symbol]
163
- model = class_name.constantize
164
- collectives = model.send(collectives_method, participant)
165
- next if collectives.empty?
166
- collectives.each do |collective|
167
- collective_boxes[my_table_symbol] ||= []
168
- collective_boxes[my_table_symbol] << collective.box(
169
- division,
170
- participant
171
- )
172
- end
173
- end
174
- end
175
- collective_boxes
176
- end
177
-
178
- send(:define_method, :all_boxes) do |*args|
179
- case args.count
180
- when 0
181
- participant = self
182
- when 1
183
- participant = args[0] || self
184
- else # Treat all but the division as a hash of options
185
- raise :wrong_number_of_arguments_right_wrong.l(
186
- right: '0..1',
187
- wrong: args.count.to_s,
188
- thing: self.class.name
189
- )
190
- end
191
- divisions = [:in, :sent, :all, :drafts, :trash, :ignored]
192
- divisions.collect do |division|
193
- MessageTrain::Box.new(self, division, participant)
194
- end
195
- end
196
- end
197
-
198
- send(:define_method, :conversations) do |*args|
199
- case args.count
200
- when 0
201
- division = :in
202
- participant = self
203
- when 1
204
- division = args[0] || :in
205
- participant = self
206
- when 2
207
- division = args[0] || :in
208
- participant = args[1] || self
209
- else # Treat all but the division as a hash of options
210
- raise :wrong_number_of_arguments_right_wrong.l(
211
- right: '0..2',
212
- wrong: args.count.to_s,
213
- thing: self.class.name
214
- )
215
- end
216
- my_conversations = MessageTrain::Conversation.with_messages_through(
217
- self
218
- )
219
- case division
220
- when :in
221
- my_conversations.with_untrashed_to(participant)
222
- when :sent
223
- my_conversations.with_untrashed_by(participant)
224
- when :all
225
- my_conversations.with_untrashed_for(participant)
226
- when :drafts
227
- my_conversations.with_drafts_by(participant)
228
- when :trash
229
- my_conversations.with_trashed_for(participant)
230
- when :ignored
231
- my_conversations.ignored(participant)
232
- end
233
- end
234
-
235
- send(:define_method, :boxes_for_participant) do |participant|
236
- original_order = [:in, :sent, :all, :drafts, :trash, :ignored]
237
- divisions = [:all, :trash]
238
- if respond_to?(:messages) || allows_sending_by?(participant)
239
- divisions += [:sent, :drafts]
240
- end
241
- allows_receiving_by?(participant) && divisions += [:in, :ignored]
242
- divisions.sort_by! { |x| original_order.index x }
243
- divisions.collect do |division|
244
- MessageTrain::Box.new(self, division, participant)
245
- end
246
- end
247
-
248
- send(:define_method, :all_conversations) do |*args|
249
- case args.count
250
- when 0
251
- participant = self
252
- when 1
253
- participant = args[0] || self
254
- else # Treat all but the division as a hash of options
255
- raise :wrong_number_of_arguments_right_wrong.l(
256
- right: '0..1',
257
- wrong: args.count.to_s,
258
- thing: self.class.name
259
- )
260
- end
261
- results = MessageTrain::Conversation.with_messages_through(self)
262
- if results.empty?
263
- []
264
- else
265
- results.with_messages_for(participant)
266
- end
267
- end
268
-
269
- send(:define_method, :all_messages) do |*args|
270
- case args.count
271
- when 0
272
- participant = self
273
- when 1
274
- participant = args[0] || self
275
- else # Treat all but the division as a hash of options
276
- raise :wrong_number_of_arguments_right_wrong.l(
277
- right: '0..1',
278
- wrong: args.count.to_s,
279
- thing: self.class.name
280
- )
281
- end
282
- results = MessageTrain::Message.with_receipts_through(self)
283
- if results.empty?
284
- []
285
- else
286
- results.with_receipts_for(participant)
287
- end
288
- end
289
-
290
- send(:define_method, :unsubscribed_from_all?) do
291
- unsubscribes.where(from: nil).exists?
292
- end
293
-
294
- send(:define_method, :unsubscribed_from?) do |from|
295
- unsubscribed_from_all? || unsubscribes.where(from: from).exists?
296
- end
21
+ extend MessageTrain::ClassMethods
22
+ include MessageTrain::InstanceMethods
23
+ end
297
24
 
298
- send(:define_method, :unsubscribe_from) do |from|
299
- unsubscribes.find_or_create_by(from: from)
300
- end
25
+ private
301
26
 
302
- send(:define_method, :subscriptions) do
303
- subscriptions = []
304
- subscriptions << {
305
- from: self,
306
- from_type: self.class.name,
307
- from_id: id,
308
- from_name: :messages_directly_to_myself.l,
309
- unsubscribe: unsubscribes.find_by(from: self)
310
- }
311
- collective_boxes.values.each do |boxes|
312
- boxes.each do |box|
313
- next unless box.parent.allows_receiving_by?(self)
314
- collective_name = box.parent.send(
315
- MessageTrain.configuration.name_columns[
316
- box.parent.class.table_name.to_sym
317
- ]
318
- )
319
- subscriptions << {
320
- from: box.parent,
321
- from_type: box.parent.class.name,
322
- from_id: box.parent.id,
323
- from_name: :messages_to_collective.l(
324
- collective: collective_name
325
- ),
326
- unsubscribe: unsubscribes.find_by(from: box.parent)
327
- }
328
- end
329
- end
330
- subscriptions
331
- end
27
+ def associations_from_relationships(relationships)
28
+ if relationships.include? :sender
29
+ has_many :messages, as: :sender, class_name: 'MessageTrain::Message'
332
30
  end
31
+ return unless relationships.include? :recipient
32
+ has_many :receipts, as: :recipient, class_name: 'MessageTrain::Receipt'
33
+ has_many(
34
+ :unsubscribes,
35
+ as: :recipient,
36
+ class_name: 'MessageTrain::Unsubscribe'
37
+ )
333
38
  end
334
39
  end
335
40
  end
@@ -1,27 +1,28 @@
1
- # Generated by jeweler
1
+ # Generated by juwelier
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
3
+ # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: message_train 0.6.17 ruby lib
5
+ # stub: message_train 0.7.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "message_train"
9
- s.version = "0.6.17"
9
+ s.version = "0.7.1"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Karen Lundgren"]
14
- s.date = "2017-03-12"
15
- s.description = "Rails 4 Engine providing private/public messaging for any object, such as Users or Groups"
14
+ s.date = "2017-03-31"
15
+ s.description = "Rails 4 & 5 Engine providing private and public messaging for any object, such as Users or Groups"
16
16
  s.email = "karen.e.lundgren@gmail.com"
17
17
  s.extra_rdoc_files = [
18
18
  "LICENSE.txt",
19
- "README.rdoc"
19
+ "README.md"
20
20
  ]
21
21
  s.files = [
22
22
  ".document",
23
23
  ".rspec",
24
24
  ".rubocop.yml",
25
+ ".rubocop_todo.yml",
25
26
  ".ruby-gemset",
26
27
  ".ruby-version",
27
28
  ".scss-lint.yml",
@@ -29,12 +30,13 @@ Gem::Specification.new do |s|
29
30
  ".travis.yml",
30
31
  "Gemfile",
31
32
  "LICENSE.txt",
32
- "README.rdoc",
33
+ "README.md",
33
34
  "Rakefile",
34
35
  "VERSION",
35
- "app/assets/javascripts/ckeditor/config.js.coffee",
36
+ "app/assets/javascripts/ckeditor/config.js",
36
37
  "app/assets/javascripts/message_train.js",
37
38
  "app/assets/stylesheets/message_train.scss",
39
+ "app/controllers/concerns/message_train_authorization.rb",
38
40
  "app/controllers/concerns/message_train_support.rb",
39
41
  "app/controllers/message_train/application_controller.rb",
40
42
  "app/controllers/message_train/boxes_controller.rb",
@@ -113,8 +115,10 @@ Gem::Specification.new do |s|
113
115
  "lib/generators/message_train/install/templates/initializer.rb",
114
116
  "lib/generators/message_train/utils.rb",
115
117
  "lib/message_train.rb",
118
+ "lib/message_train/class_methods.rb",
116
119
  "lib/message_train/configuration.rb",
117
120
  "lib/message_train/engine.rb",
121
+ "lib/message_train/instance_methods.rb",
118
122
  "lib/message_train/localization.rb",
119
123
  "lib/message_train/mixin.rb",
120
124
  "lib/message_train/version.rb",
@@ -162,11 +166,11 @@ Gem::Specification.new do |s|
162
166
  "spec/dummy/app/assets/files/message_train/attachments/wd-spectools-word-sample-04.doc",
163
167
  "spec/dummy/app/assets/images/logo.svg",
164
168
  "spec/dummy/app/assets/javascripts/application.js",
165
- "spec/dummy/app/assets/stylesheets/application.css.scss",
169
+ "spec/dummy/app/assets/stylesheets/application.scss",
170
+ "spec/dummy/app/assets/stylesheets/bootstrap-everything.scss",
166
171
  "spec/dummy/app/controllers/application_controller.rb",
167
172
  "spec/dummy/app/helpers/application_helper.rb",
168
173
  "spec/dummy/app/mailers/.keep",
169
- "spec/dummy/app/models/.keep",
170
174
  "spec/dummy/app/models/group.rb",
171
175
  "spec/dummy/app/models/role.rb",
172
176
  "spec/dummy/app/models/user.rb",
@@ -227,7 +231,6 @@ Gem::Specification.new do |s|
227
231
  "spec/dummy/db/seeds/users.seeds.rb",
228
232
  "spec/dummy/db/test.sqlite3",
229
233
  "spec/dummy/lib/assets/.keep",
230
- "spec/dummy/log/.keep",
231
234
  "spec/dummy/public/404.html",
232
235
  "spec/dummy/public/422.html",
233
236
  "spec/dummy/public/500.html",
@@ -275,121 +278,118 @@ Gem::Specification.new do |s|
275
278
  ]
276
279
  s.homepage = "http://www.gemvein.com/museum/cases/message_train"
277
280
  s.licenses = ["MIT"]
278
- s.rubygems_version = "2.4.8"
279
- s.summary = "Rails 4 Engine providing messaging for any object"
281
+ s.rubygems_version = "2.4.5.1"
282
+ s.summary = "Rails 4 & 5 Engine providing messaging for any object"
280
283
 
281
284
  if s.respond_to? :specification_version then
282
285
  s.specification_version = 4
283
286
 
284
287
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
285
- s.add_runtime_dependency(%q<rails>, [">= 4.2"])
286
- s.add_runtime_dependency(%q<paperclip>, [">= 4.2"])
287
- s.add_runtime_dependency(%q<rails-i18n>, ["~> 4"])
288
288
  s.add_runtime_dependency(%q<haml-rails>, ["~> 0.9"])
289
289
  s.add_runtime_dependency(%q<jquery-rails>, ["~> 4"])
290
- s.add_runtime_dependency(%q<uglifier>, ["~> 2.7"])
290
+ s.add_runtime_dependency(%q<paperclip>, ["< 6", ">= 4.2"])
291
+ s.add_runtime_dependency(%q<rails>, ["< 6", ">= 4"])
292
+ s.add_runtime_dependency(%q<rails-i18n>, ["< 6", ">= 4"])
293
+ s.add_runtime_dependency(%q<uglifier>, ["< 3.2", ">= 2.7"])
291
294
  s.add_runtime_dependency(%q<jbuilder>, ["~> 2.0"])
292
- s.add_runtime_dependency(%q<sass-rails>, ["~> 5"])
293
295
  s.add_runtime_dependency(%q<bootstrap-sass>, ["~> 3.3"])
294
- s.add_runtime_dependency(%q<bootstrap_leather>, ["~> 0.8"])
295
- s.add_runtime_dependency(%q<bootstrap_pager>, ["~> 0.10"])
296
296
  s.add_runtime_dependency(%q<bootstrap_form>, ["~> 2.3"])
297
- s.add_runtime_dependency(%q<ckeditor>, [">= 0"])
297
+ s.add_runtime_dependency(%q<bootstrap_leather>, ["~> 0.9"])
298
+ s.add_runtime_dependency(%q<bootstrap_pager>, ["~> 0.10"])
298
299
  s.add_runtime_dependency(%q<bootstrap_tokenfield_rails>, ["~> 0.12"])
300
+ s.add_runtime_dependency(%q<ckeditor>, [">= 0"])
299
301
  s.add_runtime_dependency(%q<cocoon>, ["~> 1.2"])
300
- s.add_runtime_dependency(%q<jquery-ui-bootstrap-rails-asset>, [">= 0"])
302
+ s.add_runtime_dependency(%q<jquery-ui-bootstrap-rails>, [">= 0"])
303
+ s.add_runtime_dependency(%q<sass-rails>, ["~> 5"])
301
304
  s.add_runtime_dependency(%q<twitter-typeahead-rails>, [">= 0"])
302
- s.add_development_dependency(%q<sdoc>, ["~> 0.4.1"])
303
305
  s.add_development_dependency(%q<bundler>, ["~> 1.0"])
304
- s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
306
+ s.add_development_dependency(%q<juwelier>, ["~> 2"])
305
307
  s.add_development_dependency(%q<pre-commit>, ["~> 0.27"])
306
- s.add_development_dependency(%q<rubocop>, ["~> 0.37"])
307
- s.add_development_dependency(%q<coffeelint>, ["~> 1.14"])
308
- s.add_development_dependency(%q<scss_lint>, ["~> 0.47.0"])
309
- s.add_development_dependency(%q<sqlite3>, ["~> 1.3"])
310
- s.add_development_dependency(%q<devise>, ["~> 3.5"])
311
- s.add_development_dependency(%q<rolify>, ["~> 4"])
312
- s.add_development_dependency(%q<faker>, ["~> 1.4"])
313
- s.add_development_dependency(%q<rspec-rails>, ["~> 3.2"])
314
- s.add_development_dependency(%q<rspec-its>, ["~> 1.2"])
308
+ s.add_development_dependency(%q<rubocop>, ["~> 0.47.1"])
309
+ s.add_development_dependency(%q<scss_lint>, ["~> 0.52"])
310
+ s.add_development_dependency(%q<sdoc>, ["~> 0.4.1"])
311
+ s.add_development_dependency(%q<byebug>, ["~> 9"])
312
+ s.add_development_dependency(%q<devise>, ["~> 4"])
315
313
  s.add_development_dependency(%q<factory_girl_rails>, ["~> 4.5"])
316
- s.add_development_dependency(%q<seedbank>, ["~> 0.3"])
314
+ s.add_development_dependency(%q<faker>, ["~> 1.4"])
317
315
  s.add_development_dependency(%q<friendly_id>, ["~> 5"])
318
- s.add_development_dependency(%q<byebug>, ["~> 5"])
319
- s.add_development_dependency(%q<high_voltage>, ["~> 2.4"])
316
+ s.add_development_dependency(%q<high_voltage>, ["~> 3"])
317
+ s.add_development_dependency(%q<rolify>, ["< 5.2", ">= 4"])
318
+ s.add_development_dependency(%q<rspec-its>, [">= 1"])
319
+ s.add_development_dependency(%q<rspec-rails>, ["< 4", ">= 3"])
320
+ s.add_development_dependency(%q<seedbank>, ["~> 0.3"])
321
+ s.add_development_dependency(%q<sqlite3>, ["~> 1.3"])
320
322
  else
321
- s.add_dependency(%q<rails>, [">= 4.2"])
322
- s.add_dependency(%q<paperclip>, [">= 4.2"])
323
- s.add_dependency(%q<rails-i18n>, ["~> 4"])
324
323
  s.add_dependency(%q<haml-rails>, ["~> 0.9"])
325
324
  s.add_dependency(%q<jquery-rails>, ["~> 4"])
326
- s.add_dependency(%q<uglifier>, ["~> 2.7"])
325
+ s.add_dependency(%q<paperclip>, ["< 6", ">= 4.2"])
326
+ s.add_dependency(%q<rails>, ["< 6", ">= 4"])
327
+ s.add_dependency(%q<rails-i18n>, ["< 6", ">= 4"])
328
+ s.add_dependency(%q<uglifier>, ["< 3.2", ">= 2.7"])
327
329
  s.add_dependency(%q<jbuilder>, ["~> 2.0"])
328
- s.add_dependency(%q<sass-rails>, ["~> 5"])
329
330
  s.add_dependency(%q<bootstrap-sass>, ["~> 3.3"])
330
- s.add_dependency(%q<bootstrap_leather>, ["~> 0.8"])
331
- s.add_dependency(%q<bootstrap_pager>, ["~> 0.10"])
332
331
  s.add_dependency(%q<bootstrap_form>, ["~> 2.3"])
333
- s.add_dependency(%q<ckeditor>, [">= 0"])
332
+ s.add_dependency(%q<bootstrap_leather>, ["~> 0.9"])
333
+ s.add_dependency(%q<bootstrap_pager>, ["~> 0.10"])
334
334
  s.add_dependency(%q<bootstrap_tokenfield_rails>, ["~> 0.12"])
335
+ s.add_dependency(%q<ckeditor>, [">= 0"])
335
336
  s.add_dependency(%q<cocoon>, ["~> 1.2"])
336
- s.add_dependency(%q<jquery-ui-bootstrap-rails-asset>, [">= 0"])
337
+ s.add_dependency(%q<jquery-ui-bootstrap-rails>, [">= 0"])
338
+ s.add_dependency(%q<sass-rails>, ["~> 5"])
337
339
  s.add_dependency(%q<twitter-typeahead-rails>, [">= 0"])
338
- s.add_dependency(%q<sdoc>, ["~> 0.4.1"])
339
340
  s.add_dependency(%q<bundler>, ["~> 1.0"])
340
- s.add_dependency(%q<jeweler>, ["~> 2.0"])
341
+ s.add_dependency(%q<juwelier>, ["~> 2"])
341
342
  s.add_dependency(%q<pre-commit>, ["~> 0.27"])
342
- s.add_dependency(%q<rubocop>, ["~> 0.37"])
343
- s.add_dependency(%q<coffeelint>, ["~> 1.14"])
344
- s.add_dependency(%q<scss_lint>, ["~> 0.47.0"])
345
- s.add_dependency(%q<sqlite3>, ["~> 1.3"])
346
- s.add_dependency(%q<devise>, ["~> 3.5"])
347
- s.add_dependency(%q<rolify>, ["~> 4"])
348
- s.add_dependency(%q<faker>, ["~> 1.4"])
349
- s.add_dependency(%q<rspec-rails>, ["~> 3.2"])
350
- s.add_dependency(%q<rspec-its>, ["~> 1.2"])
343
+ s.add_dependency(%q<rubocop>, ["~> 0.47.1"])
344
+ s.add_dependency(%q<scss_lint>, ["~> 0.52"])
345
+ s.add_dependency(%q<sdoc>, ["~> 0.4.1"])
346
+ s.add_dependency(%q<byebug>, ["~> 9"])
347
+ s.add_dependency(%q<devise>, ["~> 4"])
351
348
  s.add_dependency(%q<factory_girl_rails>, ["~> 4.5"])
352
- s.add_dependency(%q<seedbank>, ["~> 0.3"])
349
+ s.add_dependency(%q<faker>, ["~> 1.4"])
353
350
  s.add_dependency(%q<friendly_id>, ["~> 5"])
354
- s.add_dependency(%q<byebug>, ["~> 5"])
355
- s.add_dependency(%q<high_voltage>, ["~> 2.4"])
351
+ s.add_dependency(%q<high_voltage>, ["~> 3"])
352
+ s.add_dependency(%q<rolify>, ["< 5.2", ">= 4"])
353
+ s.add_dependency(%q<rspec-its>, [">= 1"])
354
+ s.add_dependency(%q<rspec-rails>, ["< 4", ">= 3"])
355
+ s.add_dependency(%q<seedbank>, ["~> 0.3"])
356
+ s.add_dependency(%q<sqlite3>, ["~> 1.3"])
356
357
  end
357
358
  else
358
- s.add_dependency(%q<rails>, [">= 4.2"])
359
- s.add_dependency(%q<paperclip>, [">= 4.2"])
360
- s.add_dependency(%q<rails-i18n>, ["~> 4"])
361
359
  s.add_dependency(%q<haml-rails>, ["~> 0.9"])
362
360
  s.add_dependency(%q<jquery-rails>, ["~> 4"])
363
- s.add_dependency(%q<uglifier>, ["~> 2.7"])
361
+ s.add_dependency(%q<paperclip>, ["< 6", ">= 4.2"])
362
+ s.add_dependency(%q<rails>, ["< 6", ">= 4"])
363
+ s.add_dependency(%q<rails-i18n>, ["< 6", ">= 4"])
364
+ s.add_dependency(%q<uglifier>, ["< 3.2", ">= 2.7"])
364
365
  s.add_dependency(%q<jbuilder>, ["~> 2.0"])
365
- s.add_dependency(%q<sass-rails>, ["~> 5"])
366
366
  s.add_dependency(%q<bootstrap-sass>, ["~> 3.3"])
367
- s.add_dependency(%q<bootstrap_leather>, ["~> 0.8"])
368
- s.add_dependency(%q<bootstrap_pager>, ["~> 0.10"])
369
367
  s.add_dependency(%q<bootstrap_form>, ["~> 2.3"])
370
- s.add_dependency(%q<ckeditor>, [">= 0"])
368
+ s.add_dependency(%q<bootstrap_leather>, ["~> 0.9"])
369
+ s.add_dependency(%q<bootstrap_pager>, ["~> 0.10"])
371
370
  s.add_dependency(%q<bootstrap_tokenfield_rails>, ["~> 0.12"])
371
+ s.add_dependency(%q<ckeditor>, [">= 0"])
372
372
  s.add_dependency(%q<cocoon>, ["~> 1.2"])
373
- s.add_dependency(%q<jquery-ui-bootstrap-rails-asset>, [">= 0"])
373
+ s.add_dependency(%q<jquery-ui-bootstrap-rails>, [">= 0"])
374
+ s.add_dependency(%q<sass-rails>, ["~> 5"])
374
375
  s.add_dependency(%q<twitter-typeahead-rails>, [">= 0"])
375
- s.add_dependency(%q<sdoc>, ["~> 0.4.1"])
376
376
  s.add_dependency(%q<bundler>, ["~> 1.0"])
377
- s.add_dependency(%q<jeweler>, ["~> 2.0"])
377
+ s.add_dependency(%q<juwelier>, ["~> 2"])
378
378
  s.add_dependency(%q<pre-commit>, ["~> 0.27"])
379
- s.add_dependency(%q<rubocop>, ["~> 0.37"])
380
- s.add_dependency(%q<coffeelint>, ["~> 1.14"])
381
- s.add_dependency(%q<scss_lint>, ["~> 0.47.0"])
382
- s.add_dependency(%q<sqlite3>, ["~> 1.3"])
383
- s.add_dependency(%q<devise>, ["~> 3.5"])
384
- s.add_dependency(%q<rolify>, ["~> 4"])
385
- s.add_dependency(%q<faker>, ["~> 1.4"])
386
- s.add_dependency(%q<rspec-rails>, ["~> 3.2"])
387
- s.add_dependency(%q<rspec-its>, ["~> 1.2"])
379
+ s.add_dependency(%q<rubocop>, ["~> 0.47.1"])
380
+ s.add_dependency(%q<scss_lint>, ["~> 0.52"])
381
+ s.add_dependency(%q<sdoc>, ["~> 0.4.1"])
382
+ s.add_dependency(%q<byebug>, ["~> 9"])
383
+ s.add_dependency(%q<devise>, ["~> 4"])
388
384
  s.add_dependency(%q<factory_girl_rails>, ["~> 4.5"])
389
- s.add_dependency(%q<seedbank>, ["~> 0.3"])
385
+ s.add_dependency(%q<faker>, ["~> 1.4"])
390
386
  s.add_dependency(%q<friendly_id>, ["~> 5"])
391
- s.add_dependency(%q<byebug>, ["~> 5"])
392
- s.add_dependency(%q<high_voltage>, ["~> 2.4"])
387
+ s.add_dependency(%q<high_voltage>, ["~> 3"])
388
+ s.add_dependency(%q<rolify>, ["< 5.2", ">= 4"])
389
+ s.add_dependency(%q<rspec-its>, [">= 1"])
390
+ s.add_dependency(%q<rspec-rails>, ["< 4", ">= 3"])
391
+ s.add_dependency(%q<seedbank>, ["~> 0.3"])
392
+ s.add_dependency(%q<sqlite3>, ["~> 1.3"])
393
393
  end
394
394
  end
395
395