decidim-ai 0.30.0.rc2 → 0.30.0.rc3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc5bfa3c688397b92cb7b43287c8497e7310aab508ba716e36bdc2193333a039
4
- data.tar.gz: ca4cf3cf41414015ecde4bb2bee2ae8a3cb9474eae405f07ae4f06bdbc4ea6af
3
+ metadata.gz: 599cef771a985344aa0e44bc62d21ea46d8964f07dddebf5e3bd8b74ac4ef981
4
+ data.tar.gz: 27e1774d826a03290396a43ca54013497f03734dee573417a11ed9cec6fe1007
5
5
  SHA512:
6
- metadata.gz: bc9dd71314b3895ca8930802b3fa8b1ddd4bdc16dc42613705c5224130b28cae0ff41209355d724f985c0c2ae17e5e385e3c84a7f978fec31d5a616dd6f22e11
7
- data.tar.gz: c978fd4922a4ed495e6e1a01587f687123978ce569cca5308d894b2c3957693c80cc2913e6a10c9e2e3346f76c11003a248bcf5b6a6de96765378657d21e63d9
6
+ metadata.gz: a1d975b09701923855b695cc4de305455ab7e977007a7ac6f5f7d63da0e7120bc3a69c4eb33ee76aa596846cc8402740018d3bfd3df12da4b35f055aaad28456
7
+ data.tar.gz: 6aa2e481fa089576128ea61f357edff897201c90e331a82eb07d1b60859cc0832c80e4e2ef3f59f1ff5e9383b6e88f05ec8ae42e5a952742903281e5c2857380
@@ -22,7 +22,9 @@ module Decidim
22
22
  initializer "decidim_ai.events.subscribe_profile" do
23
23
  config.to_prepare do
24
24
  Decidim::EventsManager.subscribe("decidim.update_account:after") do |_event_name, data|
25
- Decidim::Ai::SpamDetection::UserSpamAnalyzerJob.perform_later(data[:resource])
25
+ Decidim::Ai::SpamDetection::UserSpamAnalyzerJob
26
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
27
+ .perform_later(data[:resource])
26
28
  end
27
29
  Decidim::EventsManager.subscribe("decidim.update_user_group:after") do |_event_name, data|
28
30
  Decidim::Ai::SpamDetection::UserSpamAnalyzerJob.perform_later(data[:resource])
@@ -36,10 +38,16 @@ module Decidim
36
38
  initializer "decidim_ai.events.subscribe_comments" do
37
39
  config.to_prepare do
38
40
  ActiveSupport::Notifications.subscribe("decidim.comments.create_comment:after") do |_event_name, data|
39
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body])
41
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
42
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
43
+ .perform_later(data[:resource],
44
+ data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body])
40
45
  end
41
46
  ActiveSupport::Notifications.subscribe("decidim.comments.update_comment:after") do |_event_name, data|
42
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body])
47
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
48
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
49
+ .perform_later(data[:resource],
50
+ data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body])
43
51
  end
44
52
  end
45
53
  end
@@ -47,12 +55,16 @@ module Decidim
47
55
  initializer "decidim_ai.events.subscribe_meeting" do
48
56
  config.to_prepare do
49
57
  ActiveSupport::Notifications.subscribe("decidim.meetings.create_meeting:after") do |_event_name, data|
50
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale),
51
- [:description, :title, :location_hints, :registration_terms])
58
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
59
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
60
+ .perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale),
61
+ [:description, :title, :location_hints, :registration_terms])
52
62
  end
53
63
  ActiveSupport::Notifications.subscribe("decidim.meetings.update_meeting:after") do |_event_name, data|
54
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale),
55
- [:description, :title, :location_hints, :registration_terms])
64
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
65
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
66
+ .perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale),
67
+ [:description, :title, :location_hints, :registration_terms])
56
68
  end
57
69
  end
58
70
  end
@@ -60,10 +72,16 @@ module Decidim
60
72
  initializer "decidim_ai.events.subscribe_debate" do
61
73
  config.to_prepare do
62
74
  ActiveSupport::Notifications.subscribe("decidim.debates.create_debate:after") do |_event_name, data|
63
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale), [:description, :title])
75
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
76
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
77
+ .perform_later(data[:resource],
78
+ data.dig(:extra, :event_author), data.dig(:extra, :locale), [:description, :title])
64
79
  end
65
80
  ActiveSupport::Notifications.subscribe("decidim.debates.update_debate:after") do |_event_name, data|
66
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale), [:description, :title])
81
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
82
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
83
+ .perform_later(data[:resource],
84
+ data.dig(:extra, :event_author), data.dig(:extra, :locale), [:description, :title])
67
85
  end
68
86
  end
69
87
  end
@@ -71,10 +89,16 @@ module Decidim
71
89
  initializer "decidim_ai.events.subscribe_initiatives" do
72
90
  config.to_prepare do
73
91
  ActiveSupport::Notifications.subscribe("decidim.initiatives.create_initiative:after") do |_event_name, data|
74
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale), [:description, :title])
92
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
93
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
94
+ .perform_later(data[:resource],
95
+ data.dig(:extra, :event_author), data.dig(:extra, :locale), [:description, :title])
75
96
  end
76
97
  ActiveSupport::Notifications.subscribe("decidim.initiatives.update_initiative:after") do |_event_name, data|
77
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale), [:description, :title])
98
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
99
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
100
+ .perform_later(data[:resource],
101
+ data.dig(:extra, :event_author), data.dig(:extra, :locale), [:description, :title])
78
102
  end
79
103
  end
80
104
  end
@@ -82,16 +106,28 @@ module Decidim
82
106
  initializer "decidim_ai.events.subscribe_proposals" do
83
107
  config.to_prepare do
84
108
  ActiveSupport::Notifications.subscribe("decidim.proposals.create_proposal:after") do |_event_name, data|
85
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body, :title])
109
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
110
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
111
+ .perform_later(data[:resource],
112
+ data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body, :title])
86
113
  end
87
114
  ActiveSupport::Notifications.subscribe("decidim.proposals.update_proposal:after") do |_event_name, data|
88
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body, :title])
115
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
116
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
117
+ .perform_later(data[:resource],
118
+ data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body, :title])
89
119
  end
90
120
  ActiveSupport::Notifications.subscribe("decidim.proposals.create_collaborative_draft:after") do |_event_name, data|
91
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body, :title])
121
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
122
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
123
+ .perform_later(data[:resource],
124
+ data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body, :title])
92
125
  end
93
126
  ActiveSupport::Notifications.subscribe("decidim.proposals.update_collaborative_draft:after") do |_event_name, data|
94
- Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob.perform_later(data[:resource], data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body, :title])
127
+ Decidim::Ai::SpamDetection::GenericSpamAnalyzerJob
128
+ .set(wait: Decidim::Ai::SpamDetection.spam_detection_delay)
129
+ .perform_later(data[:resource],
130
+ data.dig(:extra, :event_author), data.dig(:extra, :locale), [:body, :title])
95
131
  end
96
132
  end
97
133
  end
@@ -42,6 +42,12 @@ module Decidim
42
42
  0.75
43
43
  end
44
44
 
45
+ # You can configure the spam delay for the spam detection service.
46
+ # The default value is 5 minutes
47
+ config_accessor :spam_detection_delay do
48
+ 30.seconds
49
+ end
50
+
45
51
  # Registered analyzers.
46
52
  # You can register your own analyzer by adding a new entry to this array.
47
53
  # The entry must be a hash with the following keys:
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Ai
5
5
  def self.version
6
- "0.30.0.rc2"
6
+ "0.30.0.rc3"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.0.rc2
4
+ version: 0.30.0.rc3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandru-Emil Lupu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-03-03 00:00:00.000000000 Z
11
+ date: 2025-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: classifier-reborn
@@ -30,70 +30,70 @@ dependencies:
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.30.0.rc2
33
+ version: 0.30.0.rc3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.30.0.rc2
40
+ version: 0.30.0.rc3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: decidim-debates
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 0.30.0.rc2
47
+ version: 0.30.0.rc3
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 0.30.0.rc2
54
+ version: 0.30.0.rc3
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: decidim-initiatives
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 0.30.0.rc2
61
+ version: 0.30.0.rc3
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 0.30.0.rc2
68
+ version: 0.30.0.rc3
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: decidim-meetings
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 0.30.0.rc2
75
+ version: 0.30.0.rc3
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 0.30.0.rc2
82
+ version: 0.30.0.rc3
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: decidim-proposals
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 0.30.0.rc2
89
+ version: 0.30.0.rc3
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 0.30.0.rc2
96
+ version: 0.30.0.rc3
97
97
  description: A module that aims to provide Artificial Intelligence tools for Decidim.
98
98
  email:
99
99
  - contact@alecslupu.ro