message_train 0.6.17 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
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