thredded 1.0.1 → 1.2.0

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.
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: 1.0.1
4
+ version: 1.2.0
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: 2022-06-05 00:00:00.000000000 Z
12
+ date: 2025-05-27 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: active_record_union
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - ">="
19
- - !ruby/object:Gem::Version
20
- version: 1.3.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.3.0
28
14
  - !ruby/object:Gem::Dependency
29
15
  name: db_text_search
30
16
  requirement: !ruby/object:Gem::Requirement
@@ -129,20 +115,14 @@ dependencies:
129
115
  requirements:
130
116
  - - ">="
131
117
  - !ruby/object:Gem::Version
132
- version: 5.2.0
133
- - - "!="
134
- - !ruby/object:Gem::Version
135
- version: 6.0.0.rc2
118
+ version: '7.0'
136
119
  type: :runtime
137
120
  prerelease: false
138
121
  version_requirements: !ruby/object:Gem::Requirement
139
122
  requirements:
140
123
  - - ">="
141
124
  - !ruby/object:Gem::Version
142
- version: 5.2.0
143
- - - "!="
144
- - !ruby/object:Gem::Version
145
- version: 6.0.0.rc2
125
+ version: '7.0'
146
126
  - !ruby/object:Gem::Dependency
147
127
  name: rails_gravatar
148
128
  requirement: !ruby/object:Gem::Requirement
@@ -163,14 +143,20 @@ dependencies:
163
143
  requirements:
164
144
  - - ">="
165
145
  - !ruby/object:Gem::Version
166
- version: '0'
146
+ version: 2.14.1
147
+ - - "<"
148
+ - !ruby/object:Gem::Version
149
+ version: '3'
167
150
  type: :runtime
168
151
  prerelease: false
169
152
  version_requirements: !ruby/object:Gem::Requirement
170
153
  requirements:
171
154
  - - ">="
172
155
  - !ruby/object:Gem::Version
173
- version: '0'
156
+ version: 2.14.1
157
+ - - "<"
158
+ - !ruby/object:Gem::Version
159
+ version: '3'
174
160
  - !ruby/object:Gem::Dependency
175
161
  name: kramdown
176
162
  requirement: !ruby/object:Gem::Requirement
@@ -255,20 +241,6 @@ dependencies:
255
241
  - - ">="
256
242
  - !ruby/object:Gem::Version
257
243
  version: '0'
258
- - !ruby/object:Gem::Dependency
259
- name: sassc-rails
260
- requirement: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - ">="
263
- - !ruby/object:Gem::Version
264
- version: 2.0.0
265
- type: :runtime
266
- prerelease: false
267
- version_requirements: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - ">="
270
- - !ruby/object:Gem::Version
271
- version: 2.0.0
272
244
  - !ruby/object:Gem::Dependency
273
245
  name: sprockets-es6
274
246
  requirement: !ruby/object:Gem::Requirement
@@ -297,344 +269,8 @@ dependencies:
297
269
  - - ">="
298
270
  - !ruby/object:Gem::Version
299
271
  version: 3.0.2.2
300
- - !ruby/object:Gem::Dependency
301
- name: capybara
302
- requirement: !ruby/object:Gem::Requirement
303
- requirements:
304
- - - "~>"
305
- - !ruby/object:Gem::Version
306
- version: '3.0'
307
- type: :development
308
- prerelease: false
309
- version_requirements: !ruby/object:Gem::Requirement
310
- requirements:
311
- - - "~>"
312
- - !ruby/object:Gem::Version
313
- version: '3.0'
314
- - !ruby/object:Gem::Dependency
315
- name: capybara-screenshot
316
- requirement: !ruby/object:Gem::Requirement
317
- requirements:
318
- - - ">="
319
- - !ruby/object:Gem::Version
320
- version: '0'
321
- type: :development
322
- prerelease: false
323
- version_requirements: !ruby/object:Gem::Requirement
324
- requirements:
325
- - - ">="
326
- - !ruby/object:Gem::Version
327
- version: '0'
328
- - !ruby/object:Gem::Dependency
329
- name: cuprite
330
- requirement: !ruby/object:Gem::Requirement
331
- requirements:
332
- - - ">="
333
- - !ruby/object:Gem::Version
334
- version: '0.5'
335
- type: :development
336
- prerelease: false
337
- version_requirements: !ruby/object:Gem::Requirement
338
- requirements:
339
- - - ">="
340
- - !ruby/object:Gem::Version
341
- version: '0.5'
342
- - !ruby/object:Gem::Dependency
343
- name: database_cleaner-active_record
344
- requirement: !ruby/object:Gem::Requirement
345
- requirements:
346
- - - "~>"
347
- - !ruby/object:Gem::Version
348
- version: '2.0'
349
- type: :development
350
- prerelease: false
351
- version_requirements: !ruby/object:Gem::Requirement
352
- requirements:
353
- - - "~>"
354
- - !ruby/object:Gem::Version
355
- version: '2.0'
356
- - !ruby/object:Gem::Dependency
357
- name: factory_bot
358
- requirement: !ruby/object:Gem::Requirement
359
- requirements:
360
- - - ">="
361
- - !ruby/object:Gem::Version
362
- version: 5.0.2
363
- type: :development
364
- prerelease: false
365
- version_requirements: !ruby/object:Gem::Requirement
366
- requirements:
367
- - - ">="
368
- - !ruby/object:Gem::Version
369
- version: 5.0.2
370
- - !ruby/object:Gem::Dependency
371
- name: faker
372
- requirement: !ruby/object:Gem::Requirement
373
- requirements:
374
- - - ">="
375
- - !ruby/object:Gem::Version
376
- version: 1.9.3
377
- type: :development
378
- prerelease: false
379
- version_requirements: !ruby/object:Gem::Requirement
380
- requirements:
381
- - - ">="
382
- - !ruby/object:Gem::Version
383
- version: 1.9.3
384
- - !ruby/object:Gem::Dependency
385
- name: launchy
386
- requirement: !ruby/object:Gem::Requirement
387
- requirements:
388
- - - ">="
389
- - !ruby/object:Gem::Version
390
- version: '0'
391
- type: :development
392
- prerelease: false
393
- version_requirements: !ruby/object:Gem::Requirement
394
- requirements:
395
- - - ">="
396
- - !ruby/object:Gem::Version
397
- version: '0'
398
- - !ruby/object:Gem::Dependency
399
- name: rails-controller-testing
400
- requirement: !ruby/object:Gem::Requirement
401
- requirements:
402
- - - ">="
403
- - !ruby/object:Gem::Version
404
- version: '0'
405
- type: :development
406
- prerelease: false
407
- version_requirements: !ruby/object:Gem::Requirement
408
- requirements:
409
- - - ">="
410
- - !ruby/object:Gem::Version
411
- version: '0'
412
- - !ruby/object:Gem::Dependency
413
- name: rspec-rails
414
- requirement: !ruby/object:Gem::Requirement
415
- requirements:
416
- - - ">="
417
- - !ruby/object:Gem::Version
418
- version: 3.5.0
419
- type: :development
420
- prerelease: false
421
- version_requirements: !ruby/object:Gem::Requirement
422
- requirements:
423
- - - ">="
424
- - !ruby/object:Gem::Version
425
- version: 3.5.0
426
- - !ruby/object:Gem::Dependency
427
- name: simplecov
428
- requirement: !ruby/object:Gem::Requirement
429
- requirements:
430
- - - ">="
431
- - !ruby/object:Gem::Version
432
- version: '0'
433
- type: :development
434
- prerelease: false
435
- version_requirements: !ruby/object:Gem::Requirement
436
- requirements:
437
- - - ">="
438
- - !ruby/object:Gem::Version
439
- version: '0'
440
- - !ruby/object:Gem::Dependency
441
- name: webmock
442
- requirement: !ruby/object:Gem::Requirement
443
- requirements:
444
- - - ">="
445
- - !ruby/object:Gem::Version
446
- version: '0'
447
- type: :development
448
- prerelease: false
449
- version_requirements: !ruby/object:Gem::Requirement
450
- requirements:
451
- - - ">="
452
- - !ruby/object:Gem::Version
453
- version: '0'
454
- - !ruby/object:Gem::Dependency
455
- name: http_accept_language
456
- requirement: !ruby/object:Gem::Requirement
457
- requirements:
458
- - - ">="
459
- - !ruby/object:Gem::Version
460
- version: '0'
461
- type: :development
462
- prerelease: false
463
- version_requirements: !ruby/object:Gem::Requirement
464
- requirements:
465
- - - ">="
466
- - !ruby/object:Gem::Version
467
- version: '0'
468
- - !ruby/object:Gem::Dependency
469
- name: kaminari-i18n
470
- requirement: !ruby/object:Gem::Requirement
471
- requirements:
472
- - - ">="
473
- - !ruby/object:Gem::Version
474
- version: '0'
475
- type: :development
476
- prerelease: false
477
- version_requirements: !ruby/object:Gem::Requirement
478
- requirements:
479
- - - ">="
480
- - !ruby/object:Gem::Version
481
- version: '0'
482
- - !ruby/object:Gem::Dependency
483
- name: mysql2
484
- requirement: !ruby/object:Gem::Requirement
485
- requirements:
486
- - - ">="
487
- - !ruby/object:Gem::Version
488
- version: '0'
489
- type: :development
490
- prerelease: false
491
- version_requirements: !ruby/object:Gem::Requirement
492
- requirements:
493
- - - ">="
494
- - !ruby/object:Gem::Version
495
- version: '0'
496
- - !ruby/object:Gem::Dependency
497
- name: pg
498
- requirement: !ruby/object:Gem::Requirement
499
- requirements:
500
- - - ">="
501
- - !ruby/object:Gem::Version
502
- version: '0'
503
- type: :development
504
- prerelease: false
505
- version_requirements: !ruby/object:Gem::Requirement
506
- requirements:
507
- - - ">="
508
- - !ruby/object:Gem::Version
509
- version: '0'
510
- - !ruby/object:Gem::Dependency
511
- name: puma
512
- requirement: !ruby/object:Gem::Requirement
513
- requirements:
514
- - - ">="
515
- - !ruby/object:Gem::Version
516
- version: '0'
517
- type: :development
518
- prerelease: false
519
- version_requirements: !ruby/object:Gem::Requirement
520
- requirements:
521
- - - ">="
522
- - !ruby/object:Gem::Version
523
- version: '0'
524
- - !ruby/object:Gem::Dependency
525
- name: rails-i18n
526
- requirement: !ruby/object:Gem::Requirement
527
- requirements:
528
- - - ">="
529
- - !ruby/object:Gem::Version
530
- version: '0'
531
- type: :development
532
- prerelease: false
533
- version_requirements: !ruby/object:Gem::Requirement
534
- requirements:
535
- - - ">="
536
- - !ruby/object:Gem::Version
537
- version: '0'
538
- - !ruby/object:Gem::Dependency
539
- name: rails_email_preview
540
- requirement: !ruby/object:Gem::Requirement
541
- requirements:
542
- - - ">="
543
- - !ruby/object:Gem::Version
544
- version: 2.2.1
545
- type: :development
546
- prerelease: false
547
- version_requirements: !ruby/object:Gem::Requirement
548
- requirements:
549
- - - ">="
550
- - !ruby/object:Gem::Version
551
- version: 2.2.1
552
- - !ruby/object:Gem::Dependency
553
- name: sqlite3
554
- requirement: !ruby/object:Gem::Requirement
555
- requirements:
556
- - - ">="
557
- - !ruby/object:Gem::Version
558
- version: '0'
559
- type: :development
560
- prerelease: false
561
- version_requirements: !ruby/object:Gem::Requirement
562
- requirements:
563
- - - ">="
564
- - !ruby/object:Gem::Version
565
- version: '0'
566
- - !ruby/object:Gem::Dependency
567
- name: twemoji
568
- requirement: !ruby/object:Gem::Requirement
569
- requirements:
570
- - - ">="
571
- - !ruby/object:Gem::Version
572
- version: '0'
573
- type: :development
574
- prerelease: false
575
- version_requirements: !ruby/object:Gem::Requirement
576
- requirements:
577
- - - ">="
578
- - !ruby/object:Gem::Version
579
- version: '0'
580
- - !ruby/object:Gem::Dependency
581
- name: web-console
582
- requirement: !ruby/object:Gem::Requirement
583
- requirements:
584
- - - ">="
585
- - !ruby/object:Gem::Version
586
- version: '0'
587
- type: :development
588
- prerelease: false
589
- version_requirements: !ruby/object:Gem::Requirement
590
- requirements:
591
- - - ">="
592
- - !ruby/object:Gem::Version
593
- version: '0'
594
- - !ruby/object:Gem::Dependency
595
- name: thredded-markdown_coderay
596
- requirement: !ruby/object:Gem::Requirement
597
- requirements:
598
- - - ">="
599
- - !ruby/object:Gem::Version
600
- version: '0'
601
- type: :development
602
- prerelease: false
603
- version_requirements: !ruby/object:Gem::Requirement
604
- requirements:
605
- - - ">="
606
- - !ruby/object:Gem::Version
607
- version: '0'
608
- - !ruby/object:Gem::Dependency
609
- name: thredded-markdown_katex
610
- requirement: !ruby/object:Gem::Requirement
611
- requirements:
612
- - - ">="
613
- - !ruby/object:Gem::Version
614
- version: '0'
615
- type: :development
616
- prerelease: false
617
- version_requirements: !ruby/object:Gem::Requirement
618
- requirements:
619
- - - ">="
620
- - !ruby/object:Gem::Version
621
- version: '0'
622
- - !ruby/object:Gem::Dependency
623
- name: turbolinks
624
- requirement: !ruby/object:Gem::Requirement
625
- requirements:
626
- - - ">="
627
- - !ruby/object:Gem::Version
628
- version: '0'
629
- type: :development
630
- prerelease: false
631
- version_requirements: !ruby/object:Gem::Requirement
632
- requirements:
633
- - - ">="
634
- - !ruby/object:Gem::Version
635
- version: '0'
636
272
  description: |-
637
- The best Rails 5.2+ forums engine ever. Its goal is to be as simple and feature rich as possible.
273
+ The best Rails 6.0+ forums engine ever. Its goal is to be as simple and feature rich as possible.
638
274
  Thredded works with SQLite, MySQL (v5.6.4+), and PostgreSQL. See the demo at https://thredded.org/.
639
275
  email:
640
276
  - joel@thredded.com
@@ -801,6 +437,7 @@ files:
801
437
  - app/models/concerns/thredded/search_parser.rb
802
438
  - app/models/concerns/thredded/topic_common.rb
803
439
  - app/models/concerns/thredded/topics_search.rb
440
+ - app/models/concerns/thredded/union_scope.rb
804
441
  - app/models/concerns/thredded/user_topic_read_state_common.rb
805
442
  - app/models/thredded/category.rb
806
443
  - app/models/thredded/messageboard.rb
@@ -985,6 +622,7 @@ files:
985
622
  - bin/create_migration_fixture
986
623
  - bin/rails
987
624
  - bin/rubocop
625
+ - bin/run_specs_repeatedly
988
626
  - config/i18n-tasks.yml
989
627
  - config/locales/de.yml
990
628
  - config/locales/en.yml
@@ -994,6 +632,7 @@ files:
994
632
  - config/locales/pl.yml
995
633
  - config/locales/pt-BR.yml
996
634
  - config/locales/ru.yml
635
+ - config/locales/uk.yml
997
636
  - config/locales/zh-CN.yml
998
637
  - config/routes.rb
999
638
  - db/migrate/20160329231848_create_thredded.rb
@@ -1034,7 +673,6 @@ files:
1034
673
  - lib/thredded/html_pipeline/spoiler_tag_filter.rb
1035
674
  - lib/thredded/html_pipeline/utils.rb
1036
675
  - lib/thredded/html_pipeline/wrap_iframes_filter.rb
1037
- - lib/thredded/rails_lt_5_2_arel_case_node.rb
1038
676
  - lib/thredded/users_provider.rb
1039
677
  - lib/thredded/version.rb
1040
678
  - lib/thredded/view_hooks/config.rb
@@ -1054,7 +692,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
1054
692
  requirements:
1055
693
  - - ">="
1056
694
  - !ruby/object:Gem::Version
1057
- version: '2.1'
695
+ version: '3.1'
1058
696
  - - "<"
1059
697
  - !ruby/object:Gem::Version
1060
698
  version: '4.0'
@@ -1064,7 +702,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1064
702
  - !ruby/object:Gem::Version
1065
703
  version: '0'
1066
704
  requirements: []
1067
- rubygems_version: 3.2.32
705
+ rubygems_version: 3.4.19
1068
706
  signing_key:
1069
707
  specification_version: 4
1070
708
  summary: The best Rails forums engine ever.
@@ -1,119 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Arel
4
- module Nodes
5
- class Case < Arel::Nodes::Node
6
- include Arel::OrderPredications
7
- include Arel::Predications
8
- include Arel::AliasPredication
9
-
10
- attr_accessor :case, :conditions, :default
11
-
12
- def initialize(expression = nil, default = nil)
13
- @case = expression
14
- @conditions = []
15
- @default = default
16
- end
17
-
18
- def when(condition, expression = nil)
19
- @conditions << When.new(Nodes.build_quoted(condition), expression)
20
- self
21
- end
22
-
23
- def then(expression)
24
- @conditions.last.right = Nodes.build_quoted(expression)
25
- self
26
- end
27
-
28
- def else(expression)
29
- @default = Else.new Nodes.build_quoted(expression)
30
- self
31
- end
32
-
33
- def initialize_copy(other)
34
- super
35
- @case = @case.clone if @case
36
- @conditions = @conditions.map(&:clone)
37
- @default = @default.clone if @default
38
- end
39
-
40
- def hash
41
- [@case, @conditions, @default].hash
42
- end
43
-
44
- def eql?(other)
45
- self.class == other.class &&
46
- self.case == other.case &&
47
- conditions == other.conditions &&
48
- default == other.default
49
- end
50
-
51
- alias == eql?
52
- end
53
-
54
- class When < Binary
55
- end
56
-
57
- class Else < Unary
58
- end
59
- end
60
- end
61
-
62
- module Arel
63
- module Visitors
64
- class DepthFirst < Arel::Visitors::Visitor
65
- alias visit_Arel_Nodes_Else unary
66
-
67
- def visit_Arel_Nodes_Case(o) # rubocop:disable Naming/MethodName
68
- visit o.case
69
- visit o.conditions
70
- visit o.default
71
- end
72
-
73
- alias visit_Arel_Nodes_When binary
74
- end
75
- end
76
- end
77
-
78
- module Arel
79
- module Predications
80
- def when(right)
81
- Nodes::Case.new(self).when quoted_node(right)
82
- end
83
- end
84
- end
85
-
86
- module Arel
87
- module Visitors
88
- class ToSql < Arel::Visitors::Reduce
89
- def visit_Arel_Nodes_Case(o, collector) # rubocop:disable Naming/MethodName
90
- collector << 'CASE '
91
- if o.case
92
- visit o.case, collector
93
- collector << ' '
94
- end
95
- o.conditions.each do |condition|
96
- visit condition, collector
97
- collector << ' '
98
- end
99
- if o.default
100
- visit o.default, collector
101
- collector << ' '
102
- end
103
- collector << 'END'
104
- end
105
-
106
- def visit_Arel_Nodes_When(o, collector) # rubocop:disable Naming/MethodName
107
- collector << 'WHEN '
108
- visit o.left, collector
109
- collector << ' THEN '
110
- visit o.right, collector
111
- end
112
-
113
- def visit_Arel_Nodes_Else(o, collector) # rubocop:disable Naming/MethodName
114
- collector << 'ELSE '
115
- visit o.expr, collector
116
- end
117
- end
118
- end
119
- end