thredded 0.15.4 → 0.15.5
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/assets/stylesheets/thredded/base/_alerts.scss +1 -0
- data/app/controllers/thredded/application_controller.rb +14 -7
- data/app/controllers/thredded/messageboards_controller.rb +5 -6
- data/app/controllers/thredded/moderation_controller.rb +28 -18
- data/app/controllers/thredded/topics_controller.rb +1 -1
- data/app/forms/thredded/post_form.rb +1 -1
- data/app/forms/thredded/private_post_form.rb +1 -1
- data/app/forms/thredded/private_topic_form.rb +2 -3
- data/app/forms/thredded/topic_form.rb +1 -1
- data/app/helpers/thredded/application_helper.rb +10 -9
- data/app/mailer_previews/thredded/base_mailer_preview.rb +4 -4
- data/app/models/concerns/thredded/content_moderation_state.rb +24 -24
- data/app/models/concerns/thredded/topic_common.rb +1 -1
- data/app/models/concerns/thredded/user_topic_read_state_common.rb +1 -1
- data/app/models/thredded/category.rb +1 -1
- data/app/models/thredded/messageboard.rb +6 -6
- data/app/models/thredded/messageboard_user.rb +4 -1
- data/app/models/thredded/post.rb +4 -2
- data/app/models/thredded/post_moderation_record.rb +3 -9
- data/app/models/thredded/private_topic.rb +6 -5
- data/app/models/thredded/topic.rb +6 -4
- data/app/models/thredded/topic_category.rb +2 -2
- data/app/models/thredded/user_detail.rb +12 -6
- data/app/models/thredded/user_extender.rb +22 -22
- data/app/models/thredded/user_permissions/moderate/if_moderator_column_true.rb +7 -0
- data/app/models/thredded/user_permissions/moderate/none.rb +6 -0
- data/app/models/thredded/user_permissions/read/all.rb +7 -0
- data/app/models/thredded/user_preference.rb +9 -9
- data/app/policies/thredded/messageboard_policy.rb +8 -3
- data/app/views/thredded/messageboards/_form.html.erb +3 -2
- data/app/views/thredded/messageboards/new.html.erb +1 -1
- data/app/views/thredded/private_topics/_form.html.erb +1 -1
- data/app/views/thredded/private_topics/edit.html.erb +1 -1
- data/app/views/thredded/shared/_field_errors.html.erb +5 -3
- data/app/views/thredded/shared/nav/_moderation.html.erb +1 -1
- data/app/views/thredded/topics/_form.html.erb +1 -1
- data/app/views/thredded/topics/edit.html.erb +1 -1
- data/bin/rails +2 -2
- data/config/locales/ru.yml +1 -1
- data/lib/generators/thredded/install/install_generator.rb +2 -2
- data/lib/generators/thredded/install/templates/initializer.rb +3 -0
- data/lib/thredded.rb +15 -2
- data/lib/thredded/base_notifier.rb +1 -3
- data/lib/thredded/database_seeder.rb +2 -5
- data/lib/thredded/engine.rb +1 -3
- data/lib/thredded/rails_lt_5_2_arel_case_node.rb +4 -4
- data/lib/thredded/version.rb +1 -1
- metadata +86 -72
@@ -7,9 +7,7 @@ module Thredded
|
|
7
7
|
fail "Notifier problem: #{notifier.class.name} must respond to #key with a snake_case string"
|
8
8
|
end
|
9
9
|
%i[human_name new_post new_private_post].each do |m|
|
10
|
-
unless notifier.respond_to?(m)
|
11
|
-
fail "#{notifier.class.name} must respond to ##{m}"
|
12
|
-
end
|
10
|
+
fail "#{notifier.class.name} must respond to ##{m}" unless notifier.respond_to?(m)
|
13
11
|
end
|
14
12
|
end
|
15
13
|
|
@@ -5,9 +5,7 @@ require_relative '../../spec/support/features/fake_content'
|
|
5
5
|
|
6
6
|
# rubocop:disable HandleExceptions
|
7
7
|
begin
|
8
|
-
if FactoryBot.factories.instance_variable_get(:@items).none?
|
9
|
-
require_relative '../../spec/factories'
|
10
|
-
end
|
8
|
+
require_relative '../../spec/factories' if FactoryBot.factories.instance_variable_get(:@items).none?
|
11
9
|
rescue NameError
|
12
10
|
end
|
13
11
|
# rubocop:enable HandleExceptions
|
@@ -165,7 +163,7 @@ module Thredded
|
|
165
163
|
log "Creating #{additional_messageboards.length} additional messageboards...\n"
|
166
164
|
additional_messageboards.each do |(name, description, group_id)|
|
167
165
|
messageboard = Messageboard.create!(name: name, description: description, messageboard_group_id: group_id)
|
168
|
-
topics = Topics.new(self).create(count:
|
166
|
+
topics = Topics.new(self).create(count: rand(1..3), messageboard: messageboard)
|
169
167
|
Posts.new(self).create(count: (1..2), topics: topics)
|
170
168
|
end
|
171
169
|
end
|
@@ -441,4 +439,3 @@ module Thredded
|
|
441
439
|
end
|
442
440
|
end
|
443
441
|
end
|
444
|
-
# rubocop:enable Metrics/ClassLength
|
data/lib/thredded/engine.rb
CHANGED
@@ -12,9 +12,7 @@ module Thredded
|
|
12
12
|
|
13
13
|
config.to_prepare do
|
14
14
|
Thredded::AllViewHooks.reset_instance!
|
15
|
-
if Thredded.user_class
|
16
|
-
Thredded.user_class.send(:include, Thredded::UserExtender)
|
17
|
-
end
|
15
|
+
Thredded.user_class.send(:include, Thredded::UserExtender) if Thredded.user_class
|
18
16
|
end
|
19
17
|
|
20
18
|
initializer 'thredded.setup_assets' do
|
@@ -64,7 +64,7 @@ module Arel
|
|
64
64
|
class DepthFirst < Arel::Visitors::Visitor
|
65
65
|
alias visit_Arel_Nodes_Else unary
|
66
66
|
|
67
|
-
def visit_Arel_Nodes_Case(o) # rubocop:disable
|
67
|
+
def visit_Arel_Nodes_Case(o) # rubocop:disable Naming/MethodName
|
68
68
|
visit o.case
|
69
69
|
visit o.conditions
|
70
70
|
visit o.default
|
@@ -86,7 +86,7 @@ end
|
|
86
86
|
module Arel
|
87
87
|
module Visitors
|
88
88
|
class ToSql < Arel::Visitors::Reduce
|
89
|
-
def visit_Arel_Nodes_Case(o, collector) # rubocop:disable
|
89
|
+
def visit_Arel_Nodes_Case(o, collector) # rubocop:disable Naming/MethodName
|
90
90
|
collector << 'CASE '
|
91
91
|
if o.case
|
92
92
|
visit o.case, collector
|
@@ -103,14 +103,14 @@ module Arel
|
|
103
103
|
collector << 'END'
|
104
104
|
end
|
105
105
|
|
106
|
-
def visit_Arel_Nodes_When(o, collector) # rubocop:disable
|
106
|
+
def visit_Arel_Nodes_When(o, collector) # rubocop:disable Naming/MethodName
|
107
107
|
collector << 'WHEN '
|
108
108
|
visit o.left, collector
|
109
109
|
collector << ' THEN '
|
110
110
|
visit o.right, collector
|
111
111
|
end
|
112
112
|
|
113
|
-
def visit_Arel_Nodes_Else(o, collector) # rubocop:disable
|
113
|
+
def visit_Arel_Nodes_Else(o, collector) # rubocop:disable Naming/MethodName
|
114
114
|
collector << 'ELSE '
|
115
115
|
visit o.expr, collector
|
116
116
|
end
|
data/lib/thredded/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thredded
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Oliveira
|
@@ -9,22 +9,8 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-10-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: pundit
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - ">="
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: 1.1.0
|
21
|
-
type: :runtime
|
22
|
-
prerelease: false
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
requirements:
|
25
|
-
- - ">="
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: 1.1.0
|
28
14
|
- !ruby/object:Gem::Dependency
|
29
15
|
name: active_record_union
|
30
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,6 +67,20 @@ dependencies:
|
|
81
67
|
- - ">="
|
82
68
|
- !ruby/object:Gem::Version
|
83
69
|
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: inline_svg
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: kaminari
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,6 +109,20 @@ dependencies:
|
|
109
109
|
- - ">="
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: pundit
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 1.1.0
|
119
|
+
type: :runtime
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 1.1.0
|
112
126
|
- !ruby/object:Gem::Dependency
|
113
127
|
name: rails
|
114
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -138,7 +152,7 @@ dependencies:
|
|
138
152
|
- !ruby/object:Gem::Version
|
139
153
|
version: '0'
|
140
154
|
- !ruby/object:Gem::Dependency
|
141
|
-
name:
|
155
|
+
name: html-pipeline
|
142
156
|
requirement: !ruby/object:Gem::Requirement
|
143
157
|
requirements:
|
144
158
|
- - ">="
|
@@ -185,20 +199,6 @@ dependencies:
|
|
185
199
|
- - ">="
|
186
200
|
- !ruby/object:Gem::Version
|
187
201
|
version: 1.8.48
|
188
|
-
- !ruby/object:Gem::Dependency
|
189
|
-
name: html-pipeline
|
190
|
-
requirement: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - ">="
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: '0'
|
195
|
-
type: :runtime
|
196
|
-
prerelease: false
|
197
|
-
version_requirements: !ruby/object:Gem::Requirement
|
198
|
-
requirements:
|
199
|
-
- - ">="
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version: '0'
|
202
202
|
- !ruby/object:Gem::Dependency
|
203
203
|
name: rinku
|
204
204
|
requirement: !ruby/object:Gem::Requirement
|
@@ -242,35 +242,35 @@ dependencies:
|
|
242
242
|
- !ruby/object:Gem::Version
|
243
243
|
version: '0'
|
244
244
|
- !ruby/object:Gem::Dependency
|
245
|
-
name:
|
245
|
+
name: autoprefixer-rails
|
246
246
|
requirement: !ruby/object:Gem::Requirement
|
247
247
|
requirements:
|
248
248
|
- - ">="
|
249
249
|
- !ruby/object:Gem::Version
|
250
|
-
version:
|
250
|
+
version: '0'
|
251
251
|
type: :runtime
|
252
252
|
prerelease: false
|
253
253
|
version_requirements: !ruby/object:Gem::Requirement
|
254
254
|
requirements:
|
255
255
|
- - ">="
|
256
256
|
- !ruby/object:Gem::Version
|
257
|
-
version:
|
257
|
+
version: '0'
|
258
258
|
- !ruby/object:Gem::Dependency
|
259
|
-
name:
|
259
|
+
name: sass
|
260
260
|
requirement: !ruby/object:Gem::Requirement
|
261
261
|
requirements:
|
262
262
|
- - ">="
|
263
263
|
- !ruby/object:Gem::Version
|
264
|
-
version:
|
264
|
+
version: 3.4.21
|
265
265
|
type: :runtime
|
266
266
|
prerelease: false
|
267
267
|
version_requirements: !ruby/object:Gem::Requirement
|
268
268
|
requirements:
|
269
269
|
- - ">="
|
270
270
|
- !ruby/object:Gem::Version
|
271
|
-
version:
|
271
|
+
version: 3.4.21
|
272
272
|
- !ruby/object:Gem::Dependency
|
273
|
-
name:
|
273
|
+
name: sprockets-es6
|
274
274
|
requirement: !ruby/object:Gem::Requirement
|
275
275
|
requirements:
|
276
276
|
- - ">="
|
@@ -284,7 +284,7 @@ dependencies:
|
|
284
284
|
- !ruby/object:Gem::Version
|
285
285
|
version: '0'
|
286
286
|
- !ruby/object:Gem::Dependency
|
287
|
-
name:
|
287
|
+
name: timeago_js
|
288
288
|
requirement: !ruby/object:Gem::Requirement
|
289
289
|
requirements:
|
290
290
|
- - ">="
|
@@ -312,21 +312,21 @@ dependencies:
|
|
312
312
|
- !ruby/object:Gem::Version
|
313
313
|
version: '2.4'
|
314
314
|
- !ruby/object:Gem::Dependency
|
315
|
-
name:
|
315
|
+
name: database_cleaner
|
316
316
|
requirement: !ruby/object:Gem::Requirement
|
317
317
|
requirements:
|
318
318
|
- - ">="
|
319
319
|
- !ruby/object:Gem::Version
|
320
|
-
version:
|
320
|
+
version: '0'
|
321
321
|
type: :development
|
322
322
|
prerelease: false
|
323
323
|
version_requirements: !ruby/object:Gem::Requirement
|
324
324
|
requirements:
|
325
325
|
- - ">="
|
326
326
|
- !ruby/object:Gem::Version
|
327
|
-
version:
|
327
|
+
version: '0'
|
328
328
|
- !ruby/object:Gem::Dependency
|
329
|
-
name:
|
329
|
+
name: factory_bot_rails
|
330
330
|
requirement: !ruby/object:Gem::Requirement
|
331
331
|
requirements:
|
332
332
|
- - ">="
|
@@ -340,21 +340,21 @@ dependencies:
|
|
340
340
|
- !ruby/object:Gem::Version
|
341
341
|
version: '0'
|
342
342
|
- !ruby/object:Gem::Dependency
|
343
|
-
name:
|
343
|
+
name: faker
|
344
344
|
requirement: !ruby/object:Gem::Requirement
|
345
345
|
requirements:
|
346
346
|
- - ">="
|
347
347
|
- !ruby/object:Gem::Version
|
348
|
-
version:
|
348
|
+
version: 1.6.2
|
349
349
|
type: :development
|
350
350
|
prerelease: false
|
351
351
|
version_requirements: !ruby/object:Gem::Requirement
|
352
352
|
requirements:
|
353
353
|
- - ">="
|
354
354
|
- !ruby/object:Gem::Version
|
355
|
-
version:
|
355
|
+
version: 1.6.2
|
356
356
|
- !ruby/object:Gem::Dependency
|
357
|
-
name:
|
357
|
+
name: launchy
|
358
358
|
requirement: !ruby/object:Gem::Requirement
|
359
359
|
requirements:
|
360
360
|
- - ">="
|
@@ -368,35 +368,49 @@ dependencies:
|
|
368
368
|
- !ruby/object:Gem::Version
|
369
369
|
version: '0'
|
370
370
|
- !ruby/object:Gem::Dependency
|
371
|
-
name:
|
371
|
+
name: rspec-rails
|
372
372
|
requirement: !ruby/object:Gem::Requirement
|
373
373
|
requirements:
|
374
374
|
- - ">="
|
375
375
|
- !ruby/object:Gem::Version
|
376
|
-
version:
|
376
|
+
version: 3.5.0
|
377
377
|
type: :development
|
378
378
|
prerelease: false
|
379
379
|
version_requirements: !ruby/object:Gem::Requirement
|
380
380
|
requirements:
|
381
381
|
- - ">="
|
382
382
|
- !ruby/object:Gem::Version
|
383
|
-
version:
|
383
|
+
version: 3.5.0
|
384
384
|
- !ruby/object:Gem::Dependency
|
385
|
-
name:
|
385
|
+
name: rubocop
|
386
386
|
requirement: !ruby/object:Gem::Requirement
|
387
387
|
requirements:
|
388
|
-
- -
|
388
|
+
- - '='
|
389
389
|
- !ruby/object:Gem::Version
|
390
|
-
version:
|
390
|
+
version: 0.58.2
|
391
391
|
type: :development
|
392
392
|
prerelease: false
|
393
393
|
version_requirements: !ruby/object:Gem::Requirement
|
394
394
|
requirements:
|
395
|
-
- -
|
395
|
+
- - '='
|
396
396
|
- !ruby/object:Gem::Version
|
397
|
-
version:
|
397
|
+
version: 0.58.2
|
398
398
|
- !ruby/object:Gem::Dependency
|
399
|
-
name: rspec
|
399
|
+
name: rubocop-rspec
|
400
|
+
requirement: !ruby/object:Gem::Requirement
|
401
|
+
requirements:
|
402
|
+
- - '='
|
403
|
+
- !ruby/object:Gem::Version
|
404
|
+
version: 1.28.0
|
405
|
+
type: :development
|
406
|
+
prerelease: false
|
407
|
+
version_requirements: !ruby/object:Gem::Requirement
|
408
|
+
requirements:
|
409
|
+
- - '='
|
410
|
+
- !ruby/object:Gem::Version
|
411
|
+
version: 1.28.0
|
412
|
+
- !ruby/object:Gem::Dependency
|
413
|
+
name: selenium-webdriver
|
400
414
|
requirement: !ruby/object:Gem::Requirement
|
401
415
|
requirements:
|
402
416
|
- - ">="
|
@@ -424,21 +438,21 @@ dependencies:
|
|
424
438
|
- !ruby/object:Gem::Version
|
425
439
|
version: '0'
|
426
440
|
- !ruby/object:Gem::Dependency
|
427
|
-
name:
|
441
|
+
name: webmock
|
428
442
|
requirement: !ruby/object:Gem::Requirement
|
429
443
|
requirements:
|
430
|
-
- -
|
444
|
+
- - ">="
|
431
445
|
- !ruby/object:Gem::Version
|
432
|
-
version: 0
|
446
|
+
version: '0'
|
433
447
|
type: :development
|
434
448
|
prerelease: false
|
435
449
|
version_requirements: !ruby/object:Gem::Requirement
|
436
450
|
requirements:
|
437
|
-
- -
|
451
|
+
- - ">="
|
438
452
|
- !ruby/object:Gem::Version
|
439
|
-
version: 0
|
453
|
+
version: '0'
|
440
454
|
- !ruby/object:Gem::Dependency
|
441
|
-
name:
|
455
|
+
name: http_accept_language
|
442
456
|
requirement: !ruby/object:Gem::Requirement
|
443
457
|
requirements:
|
444
458
|
- - ">="
|
@@ -452,21 +466,21 @@ dependencies:
|
|
452
466
|
- !ruby/object:Gem::Version
|
453
467
|
version: '0'
|
454
468
|
- !ruby/object:Gem::Dependency
|
455
|
-
name:
|
469
|
+
name: i18n-tasks
|
456
470
|
requirement: !ruby/object:Gem::Requirement
|
457
471
|
requirements:
|
458
472
|
- - ">="
|
459
473
|
- !ruby/object:Gem::Version
|
460
|
-
version:
|
474
|
+
version: 0.9.18
|
461
475
|
type: :development
|
462
476
|
prerelease: false
|
463
477
|
version_requirements: !ruby/object:Gem::Requirement
|
464
478
|
requirements:
|
465
479
|
- - ">="
|
466
480
|
- !ruby/object:Gem::Version
|
467
|
-
version:
|
481
|
+
version: 0.9.18
|
468
482
|
- !ruby/object:Gem::Dependency
|
469
|
-
name:
|
483
|
+
name: kaminari-i18n
|
470
484
|
requirement: !ruby/object:Gem::Requirement
|
471
485
|
requirements:
|
472
486
|
- - ">="
|
@@ -508,7 +522,7 @@ dependencies:
|
|
508
522
|
- !ruby/object:Gem::Version
|
509
523
|
version: '0'
|
510
524
|
- !ruby/object:Gem::Dependency
|
511
|
-
name:
|
525
|
+
name: puma
|
512
526
|
requirement: !ruby/object:Gem::Requirement
|
513
527
|
requirements:
|
514
528
|
- - ">="
|
@@ -522,7 +536,7 @@ dependencies:
|
|
522
536
|
- !ruby/object:Gem::Version
|
523
537
|
version: '0'
|
524
538
|
- !ruby/object:Gem::Dependency
|
525
|
-
name:
|
539
|
+
name: rails-i18n
|
526
540
|
requirement: !ruby/object:Gem::Requirement
|
527
541
|
requirements:
|
528
542
|
- - ">="
|
@@ -564,19 +578,19 @@ dependencies:
|
|
564
578
|
- !ruby/object:Gem::Version
|
565
579
|
version: '0'
|
566
580
|
- !ruby/object:Gem::Dependency
|
567
|
-
name:
|
581
|
+
name: sqlite3
|
568
582
|
requirement: !ruby/object:Gem::Requirement
|
569
583
|
requirements:
|
570
584
|
- - ">="
|
571
585
|
- !ruby/object:Gem::Version
|
572
|
-
version: 0
|
586
|
+
version: '0'
|
573
587
|
type: :development
|
574
588
|
prerelease: false
|
575
589
|
version_requirements: !ruby/object:Gem::Requirement
|
576
590
|
requirements:
|
577
591
|
- - ">="
|
578
592
|
- !ruby/object:Gem::Version
|
579
|
-
version: 0
|
593
|
+
version: '0'
|
580
594
|
- !ruby/object:Gem::Dependency
|
581
595
|
name: web-console
|
582
596
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1036,7 +1050,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1036
1050
|
requirements:
|
1037
1051
|
- - "~>"
|
1038
1052
|
- !ruby/object:Gem::Version
|
1039
|
-
version: '2.
|
1053
|
+
version: '2.3'
|
1040
1054
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1041
1055
|
requirements:
|
1042
1056
|
- - ">="
|