rails_ops 1.5.4 → 1.5.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ffec8655c0ff38fe4e775a00eef1f4fd82d6ba2ef5ad247cd48f3a2b3e552010
4
- data.tar.gz: 15de789932d964a6809675a2685d94caae8c1f45f2fd13abf13141eadc78a814
3
+ metadata.gz: 558a4a1a3cb23bc32dfec42de13a4d3b53f70d03e6b86148ba31be121af9dd61
4
+ data.tar.gz: 11662c7d0089d418644c0f26e081b0f149d17d713b68f40becd0ea0eeaef79b6
5
5
  SHA512:
6
- metadata.gz: c47ba81425d73bf3d0934d976cfd53496ac7415a99fb48bc85e62df78268f7cb044824f9afc55a33a34b3935131e4d629a12172b83bd138e02a6dd9e4a180b8c
7
- data.tar.gz: 687315140cce606521c1ccd34f5aa67e3a09cd9460c8f86d1c9cc763e9088e93588425f1da97cbbd761155403561b3046e0cd5e6eddd36a94cb0518648c32b5e
6
+ metadata.gz: 86c2246c61c29c514d1a60c3644ade9aae78036871d0343c0ab8b0e531a0cb61e67567a628c5cf7447ef3841f1139fd4b71511968af3a17d013e06d3cdaa80d5
7
+ data.tar.gz: 637c74db154cd4eac60d4775fbf3da556d9198307fcc00583e0f44ae3a0e8250dcae38781d62429272b2b7ffd5bb3da59348a7c4ab2d966de0c2296570897473
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.5.6 (2024-08-22)
4
+
5
+ * #42 Bump nokogiri from 1.16.2 to 1.16.5 to mitigate CVE
6
+
7
+ * Lock the version of `sqlite3` to `<2.0.0` in order to mitigate
8
+ [sqlite3 errors in CI](https://github.com/activerecord-hackery/ransack/issues/1489).
9
+
10
+ Internal reference: `#127570`.
11
+
12
+ * Modernize deprecation handling to fix the issue where deprecation warnings
13
+ would lead to deprecation warnings themselves.
14
+
15
+ Internal reference: `#128487`.
16
+
17
+ * Freeze default empty array in `RailsOps::Context#op_chain`.
18
+
19
+ ## 1.5.5 (2024-03-14)
20
+
21
+ * Add instance method `lock_model_at_build?` to
22
+ `RailsOps::Operation::Model::Load` in order to allow dynamic decision whether
23
+ locking should occur.
24
+
3
25
  ## 1.5.4 (2024-01-10)
4
26
 
5
27
  * Update documentation
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rails_ops (1.5.4)
4
+ rails_ops (1.5.6)
5
5
  active_type (>= 1.3.0)
6
6
  minitest
7
7
  rails
@@ -11,72 +11,73 @@ PATH
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- actioncable (7.1.1)
15
- actionpack (= 7.1.1)
16
- activesupport (= 7.1.1)
14
+ actioncable (7.1.3.4)
15
+ actionpack (= 7.1.3.4)
16
+ activesupport (= 7.1.3.4)
17
17
  nio4r (~> 2.0)
18
18
  websocket-driver (>= 0.6.1)
19
19
  zeitwerk (~> 2.6)
20
- actionmailbox (7.1.1)
21
- actionpack (= 7.1.1)
22
- activejob (= 7.1.1)
23
- activerecord (= 7.1.1)
24
- activestorage (= 7.1.1)
25
- activesupport (= 7.1.1)
20
+ actionmailbox (7.1.3.4)
21
+ actionpack (= 7.1.3.4)
22
+ activejob (= 7.1.3.4)
23
+ activerecord (= 7.1.3.4)
24
+ activestorage (= 7.1.3.4)
25
+ activesupport (= 7.1.3.4)
26
26
  mail (>= 2.7.1)
27
27
  net-imap
28
28
  net-pop
29
29
  net-smtp
30
- actionmailer (7.1.1)
31
- actionpack (= 7.1.1)
32
- actionview (= 7.1.1)
33
- activejob (= 7.1.1)
34
- activesupport (= 7.1.1)
30
+ actionmailer (7.1.3.4)
31
+ actionpack (= 7.1.3.4)
32
+ actionview (= 7.1.3.4)
33
+ activejob (= 7.1.3.4)
34
+ activesupport (= 7.1.3.4)
35
35
  mail (~> 2.5, >= 2.5.4)
36
36
  net-imap
37
37
  net-pop
38
38
  net-smtp
39
39
  rails-dom-testing (~> 2.2)
40
- actionpack (7.1.1)
41
- actionview (= 7.1.1)
42
- activesupport (= 7.1.1)
40
+ actionpack (7.1.3.4)
41
+ actionview (= 7.1.3.4)
42
+ activesupport (= 7.1.3.4)
43
43
  nokogiri (>= 1.8.5)
44
+ racc
44
45
  rack (>= 2.2.4)
45
46
  rack-session (>= 1.0.1)
46
47
  rack-test (>= 0.6.3)
47
48
  rails-dom-testing (~> 2.2)
48
49
  rails-html-sanitizer (~> 1.6)
49
- actiontext (7.1.1)
50
- actionpack (= 7.1.1)
51
- activerecord (= 7.1.1)
52
- activestorage (= 7.1.1)
53
- activesupport (= 7.1.1)
50
+ actiontext (7.1.3.4)
51
+ actionpack (= 7.1.3.4)
52
+ activerecord (= 7.1.3.4)
53
+ activestorage (= 7.1.3.4)
54
+ activesupport (= 7.1.3.4)
54
55
  globalid (>= 0.6.0)
55
56
  nokogiri (>= 1.8.5)
56
- actionview (7.1.1)
57
- activesupport (= 7.1.1)
57
+ actionview (7.1.3.4)
58
+ activesupport (= 7.1.3.4)
58
59
  builder (~> 3.1)
59
60
  erubi (~> 1.11)
60
61
  rails-dom-testing (~> 2.2)
61
62
  rails-html-sanitizer (~> 1.6)
62
- active_type (2.3.3)
63
+ active_type (2.5.0)
63
64
  activerecord (>= 3.2)
64
- activejob (7.1.1)
65
- activesupport (= 7.1.1)
65
+ activejob (7.1.3.4)
66
+ activesupport (= 7.1.3.4)
66
67
  globalid (>= 0.3.6)
67
- activemodel (7.1.1)
68
- activesupport (= 7.1.1)
69
- activerecord (7.1.1)
70
- activemodel (= 7.1.1)
71
- activesupport (= 7.1.1)
68
+ activemodel (7.1.3.4)
69
+ activesupport (= 7.1.3.4)
70
+ activerecord (7.1.3.4)
71
+ activemodel (= 7.1.3.4)
72
+ activesupport (= 7.1.3.4)
72
73
  timeout (>= 0.4.0)
73
- activestorage (7.1.1)
74
- actionpack (= 7.1.1)
75
- activejob (= 7.1.1)
76
- activerecord (= 7.1.1)
77
- activesupport (= 7.1.1)
74
+ activestorage (7.1.3.4)
75
+ actionpack (= 7.1.3.4)
76
+ activejob (= 7.1.3.4)
77
+ activerecord (= 7.1.3.4)
78
+ activesupport (= 7.1.3.4)
78
79
  marcel (~> 1.0)
79
- activesupport (7.1.1)
80
+ activesupport (7.1.3.4)
80
81
  base64
81
82
  bigdecimal
82
83
  concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -91,30 +92,29 @@ GEM
91
92
  rake
92
93
  thor (>= 0.14.0)
93
94
  ast (2.4.2)
94
- base64 (0.1.1)
95
- bigdecimal (3.1.4)
95
+ base64 (0.2.0)
96
+ bigdecimal (3.1.8)
96
97
  builder (3.2.4)
97
98
  cancancan (3.5.0)
98
99
  coderay (1.1.3)
99
100
  colorize (0.8.1)
100
- concurrent-ruby (1.2.2)
101
+ concurrent-ruby (1.3.1)
101
102
  connection_pool (2.4.1)
102
103
  crass (1.0.6)
103
- date (3.3.3)
104
+ date (3.3.4)
104
105
  docile (1.4.0)
105
- drb (2.1.1)
106
- ruby2_keywords
106
+ drb (2.2.1)
107
107
  erubi (1.12.0)
108
108
  globalid (1.2.1)
109
109
  activesupport (>= 6.1)
110
- i18n (1.14.1)
110
+ i18n (1.14.5)
111
111
  concurrent-ruby (~> 1.0)
112
- io-console (0.6.0)
113
- irb (1.8.3)
112
+ io-console (0.7.2)
113
+ irb (1.11.2)
114
114
  rdoc
115
- reline (>= 0.3.8)
115
+ reline (>= 0.4.2)
116
116
  json (2.6.3)
117
- loofah (2.21.4)
117
+ loofah (2.22.0)
118
118
  crass (~> 1.0.2)
119
119
  nokogiri (>= 1.12.0)
120
120
  mail (2.8.1)
@@ -122,24 +122,24 @@ GEM
122
122
  net-imap
123
123
  net-pop
124
124
  net-smtp
125
- marcel (1.0.2)
125
+ marcel (1.0.4)
126
126
  method_source (1.0.0)
127
127
  mini_mime (1.1.5)
128
- minitest (5.20.0)
129
- mutex_m (0.1.2)
130
- net-imap (0.4.2)
128
+ minitest (5.23.1)
129
+ mutex_m (0.2.0)
130
+ net-imap (0.4.10)
131
131
  date
132
132
  net-protocol
133
133
  net-pop (0.1.2)
134
134
  net-protocol
135
- net-protocol (0.2.1)
135
+ net-protocol (0.2.2)
136
136
  timeout
137
- net-smtp (0.4.0)
137
+ net-smtp (0.4.0.1)
138
138
  net-protocol
139
- nio4r (2.5.9)
140
- nokogiri (1.15.4-x86_64-darwin)
139
+ nio4r (2.7.0)
140
+ nokogiri (1.16.5-x86_64-darwin)
141
141
  racc (~> 1.4)
142
- nokogiri (1.15.4-x86_64-linux)
142
+ nokogiri (1.16.5-x86_64-linux)
143
143
  racc (~> 1.4)
144
144
  parallel (1.22.1)
145
145
  parser (3.2.1.1)
@@ -147,10 +147,10 @@ GEM
147
147
  pry (0.14.2)
148
148
  coderay (~> 1.1)
149
149
  method_source (~> 1.0)
150
- psych (5.1.1.1)
150
+ psych (5.1.2)
151
151
  stringio
152
- racc (1.7.1)
153
- rack (3.0.8)
152
+ racc (1.8.0)
153
+ rack (3.0.11)
154
154
  rack-session (2.0.0)
155
155
  rack (>= 3.0.0)
156
156
  rack-test (2.1.0)
@@ -158,20 +158,20 @@ GEM
158
158
  rackup (2.1.0)
159
159
  rack (>= 3)
160
160
  webrick (~> 1.8)
161
- rails (7.1.1)
162
- actioncable (= 7.1.1)
163
- actionmailbox (= 7.1.1)
164
- actionmailer (= 7.1.1)
165
- actionpack (= 7.1.1)
166
- actiontext (= 7.1.1)
167
- actionview (= 7.1.1)
168
- activejob (= 7.1.1)
169
- activemodel (= 7.1.1)
170
- activerecord (= 7.1.1)
171
- activestorage (= 7.1.1)
172
- activesupport (= 7.1.1)
161
+ rails (7.1.3.4)
162
+ actioncable (= 7.1.3.4)
163
+ actionmailbox (= 7.1.3.4)
164
+ actionmailer (= 7.1.3.4)
165
+ actionpack (= 7.1.3.4)
166
+ actiontext (= 7.1.3.4)
167
+ actionview (= 7.1.3.4)
168
+ activejob (= 7.1.3.4)
169
+ activemodel (= 7.1.3.4)
170
+ activerecord (= 7.1.3.4)
171
+ activestorage (= 7.1.3.4)
172
+ activesupport (= 7.1.3.4)
173
173
  bundler (>= 1.15.0)
174
- railties (= 7.1.1)
174
+ railties (= 7.1.3.4)
175
175
  rails-dom-testing (2.2.0)
176
176
  activesupport (>= 5.0.0)
177
177
  minitest
@@ -179,9 +179,9 @@ GEM
179
179
  rails-html-sanitizer (1.6.0)
180
180
  loofah (~> 2.21)
181
181
  nokogiri (~> 1.14)
182
- railties (7.1.1)
183
- actionpack (= 7.1.1)
184
- activesupport (= 7.1.1)
182
+ railties (7.1.3.4)
183
+ actionpack (= 7.1.3.4)
184
+ activesupport (= 7.1.3.4)
185
185
  irb
186
186
  rackup (>= 1.0.0)
187
187
  rake (>= 12.2)
@@ -189,14 +189,15 @@ GEM
189
189
  zeitwerk (~> 2.6)
190
190
  rainbow (3.1.1)
191
191
  rake (13.1.0)
192
- rdoc (6.5.0)
192
+ rdoc (6.6.3.1)
193
193
  psych (>= 4.0.0)
194
194
  regexp_parser (2.7.0)
195
- reline (0.3.9)
195
+ reline (0.4.3)
196
196
  io-console (~> 0.5)
197
197
  request_store (1.5.1)
198
198
  rack (>= 1.4)
199
- rexml (3.2.5)
199
+ rexml (3.3.3)
200
+ strscan
200
201
  rubocop (1.45.1)
201
202
  json (~> 2.3)
202
203
  parallel (~> 1.10)
@@ -229,9 +230,10 @@ GEM
229
230
  sprockets (>= 3.0.0)
230
231
  sqlite3 (1.6.2-x86_64-darwin)
231
232
  sqlite3 (1.6.2-x86_64-linux)
232
- stringio (3.0.8)
233
- thor (1.3.0)
234
- timeout (0.4.0)
233
+ stringio (3.1.0)
234
+ strscan (3.1.0)
235
+ thor (1.3.1)
236
+ timeout (0.4.1)
235
237
  tzinfo (2.0.6)
236
238
  concurrent-ruby (~> 1.0)
237
239
  unicode-display_width (2.4.2)
@@ -239,7 +241,7 @@ GEM
239
241
  websocket-driver (0.7.6)
240
242
  websocket-extensions (>= 0.1.0)
241
243
  websocket-extensions (0.1.5)
242
- zeitwerk (2.6.12)
244
+ zeitwerk (2.6.13)
243
245
 
244
246
  PLATFORMS
245
247
  x86_64-darwin-20
@@ -259,7 +261,7 @@ DEPENDENCIES
259
261
  rubocop (= 1.45.1)
260
262
  simplecov
261
263
  sprockets-rails
262
- sqlite3
264
+ sqlite3 (< 2.0.0)
263
265
 
264
266
  BUNDLED WITH
265
267
  2.4.6
data/README.md CHANGED
@@ -1196,6 +1196,22 @@ One caveat is, that shared locking is only supported for MySQl (MariaDB),
1196
1196
  Postgresql and Oracle DB databases, any other database will always use an
1197
1197
  exlusive lock.
1198
1198
 
1199
+ You can also dynamically enable or disable locking by creating an instance
1200
+ method `lock_model_at_build?`:
1201
+
1202
+ ```ruby
1203
+ class Operations::User::Update < RailsOps::Operation::Model::Load
1204
+ model ::User
1205
+
1206
+ protected
1207
+
1208
+ def lock_model_at_build?
1209
+ # Example: Lock based on a parameter
1210
+ osparams.lock
1211
+ end
1212
+ end
1213
+ ```
1214
+
1199
1215
  ### Creating models
1200
1216
 
1201
1217
  For creating models, you can use the base class
data/Rakefile CHANGED
@@ -19,7 +19,7 @@ task :gemspec do
19
19
  spec.add_development_dependency 'appraisal'
20
20
  spec.add_development_dependency 'bundler'
21
21
  spec.add_development_dependency 'rake'
22
- spec.add_development_dependency 'sqlite3'
22
+ spec.add_development_dependency 'sqlite3', '<2.0.0'
23
23
  spec.add_development_dependency 'cancancan'
24
24
  spec.add_development_dependency 'pry'
25
25
  spec.add_development_dependency 'colorize'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.4
1
+ 1.5.6
@@ -2,7 +2,7 @@ module RailsOps
2
2
  class Context < ActiveType::Object
3
3
  attribute :user
4
4
  attribute :ability
5
- attribute :op_chain, default: []
5
+ attribute :op_chain, default: [].freeze
6
6
  attribute :session
7
7
  attribute :called_via_hook
8
8
  attribute :url_options
@@ -5,7 +5,7 @@ module RailsOps
5
5
 
6
6
  module ClassMethods
7
7
  def virtual_has_one(name, base_class, required: false, default: nil, type: Integer)
8
- ActiveSupport::Deprecation.warn('virtual_has_one is deprecated and will be removed in a future version.')
8
+ RailsOps.deprecator.warn('virtual_has_one is deprecated and will be removed in a future version.')
9
9
 
10
10
  fk = "#{name}_id"
11
11
  attribute fk, type, default: default
@@ -40,6 +40,10 @@ class RailsOps::Operation::Model::Load < RailsOps::Operation::Model
40
40
  _lock_model_at_build.nil? ? RailsOps.config.lock_models_at_build? : _lock_model_at_build
41
41
  end
42
42
 
43
+ def lock_model_at_build?
44
+ self.class._lock_model_at_build?
45
+ end
46
+
43
47
  # Method to set the lock mode, which can either be :exclusive to use
44
48
  # an exclusive write lock, or :shared to use a shared lock. Please note
45
49
  # that currently, :shared only works for MySql, Postgresql and Oracle DB,
@@ -93,7 +97,7 @@ class RailsOps::Operation::Model::Load < RailsOps::Operation::Model
93
97
 
94
98
  def lock_relation(relation)
95
99
  # Directly return the relation if we don't want to lock the relation
96
- return relation unless self.class.lock_model_at_build?
100
+ return relation unless lock_model_at_build?
97
101
 
98
102
  if self.class.lock_mode_or_default == :shared
99
103
  # Lock the relation in shared mode
@@ -1,7 +1,12 @@
1
1
  module RailsOps
2
2
  # @private
3
3
  class Railtie < Rails::Railtie
4
- initializer 'rails_ops' do |_app|
4
+ initializer 'rails_ops' do |app|
5
+ # ---------------------------------------------------------------
6
+ # Register deprecator
7
+ # ---------------------------------------------------------------
8
+ app.deprecators[:rails_ops] = RailsOps.deprecator if app
9
+
5
10
  # ---------------------------------------------------------------
6
11
  # Load hookup config eagerly at application startup unless
7
12
  # in development mode.
data/lib/rails_ops.rb CHANGED
@@ -45,6 +45,11 @@ module RailsOps
45
45
  Thread.current[AUTH_THREAD_STORAGE_KEY] = previous_value
46
46
  end
47
47
  end
48
+
49
+ # @private
50
+ def self.deprecator
51
+ @deprecator ||= ActiveSupport::Deprecation.new('2.0', 'RailsOps')
52
+ end
48
53
  end
49
54
 
50
55
  # ---------------------------------------------------------------
data/rails_ops.gemspec CHANGED
@@ -1,35 +1,35 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: rails_ops 1.5.4 ruby lib
2
+ # stub: rails_ops 1.5.6 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rails_ops".freeze
6
- s.version = "1.5.4".freeze
6
+ s.version = "1.5.6"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Sitrox".freeze]
11
- s.date = "2024-02-12"
11
+ s.date = "2024-08-22"
12
12
  s.files = [".github/workflows/rubocop.yml".freeze, ".github/workflows/ruby.yml".freeze, ".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, "Appraisals".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "Gemfile.lock".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "gemfiles/rails_6.0.gemfile".freeze, "gemfiles/rails_6.1.gemfile".freeze, "gemfiles/rails_7.0.gemfile".freeze, "gemfiles/rails_7.1.gemfile".freeze, "lib/generators/operation/USAGE".freeze, "lib/generators/operation/operation_generator.rb".freeze, "lib/generators/operation/templates/controller.erb".freeze, "lib/generators/operation/templates/controller_wrapper.erb".freeze, "lib/generators/operation/templates/create.erb".freeze, "lib/generators/operation/templates/destroy.erb".freeze, "lib/generators/operation/templates/load.erb".freeze, "lib/generators/operation/templates/update.erb".freeze, "lib/generators/operation/templates/view.erb".freeze, "lib/rails_ops.rb".freeze, "lib/rails_ops/authorization_backend/abstract.rb".freeze, "lib/rails_ops/authorization_backend/can_can_can.rb".freeze, "lib/rails_ops/configuration.rb".freeze, "lib/rails_ops/context.rb".freeze, "lib/rails_ops/controller_mixin.rb".freeze, "lib/rails_ops/exceptions.rb".freeze, "lib/rails_ops/hooked_job.rb".freeze, "lib/rails_ops/hookup.rb".freeze, "lib/rails_ops/hookup/dsl.rb".freeze, "lib/rails_ops/hookup/dsl_validator.rb".freeze, "lib/rails_ops/hookup/hook.rb".freeze, "lib/rails_ops/log_subscriber.rb".freeze, "lib/rails_ops/mixins.rb".freeze, "lib/rails_ops/mixins/authorization.rb".freeze, "lib/rails_ops/mixins/log_settings.rb".freeze, "lib/rails_ops/mixins/model.rb".freeze, "lib/rails_ops/mixins/model/authorization.rb".freeze, "lib/rails_ops/mixins/model/nesting.rb".freeze, "lib/rails_ops/mixins/param_authorization.rb".freeze, "lib/rails_ops/mixins/policies.rb".freeze, "lib/rails_ops/mixins/require_context.rb".freeze, "lib/rails_ops/mixins/routes.rb".freeze, "lib/rails_ops/mixins/schema_validation.rb".freeze, "lib/rails_ops/mixins/sub_ops.rb".freeze, "lib/rails_ops/model_mixins.rb".freeze, "lib/rails_ops/model_mixins/ar_extension.rb".freeze, "lib/rails_ops/model_mixins/marshalling.rb".freeze, "lib/rails_ops/model_mixins/parent_op.rb".freeze, "lib/rails_ops/model_mixins/sti_fixes.rb".freeze, "lib/rails_ops/model_mixins/virtual_attributes.rb".freeze, "lib/rails_ops/model_mixins/virtual_attributes/virtual_column_wrapper.rb".freeze, "lib/rails_ops/model_mixins/virtual_has_one.rb".freeze, "lib/rails_ops/model_mixins/virtual_model_name.rb".freeze, "lib/rails_ops/operation.rb".freeze, "lib/rails_ops/operation/model.rb".freeze, "lib/rails_ops/operation/model/create.rb".freeze, "lib/rails_ops/operation/model/destroy.rb".freeze, "lib/rails_ops/operation/model/load.rb".freeze, "lib/rails_ops/operation/model/update.rb".freeze, "lib/rails_ops/profiler.rb".freeze, "lib/rails_ops/profiler/node.rb".freeze, "lib/rails_ops/railtie.rb".freeze, "lib/rails_ops/scoped_env.rb".freeze, "lib/rails_ops/virtual_model.rb".freeze, "rails_ops.gemspec".freeze, "test/db/models.rb".freeze, "test/db/schema.rb".freeze, "test/dummy/Rakefile".freeze, "test/dummy/app/assets/config/manifest.js".freeze, "test/dummy/app/assets/images/.keep".freeze, "test/dummy/app/assets/javascripts/application.js".freeze, "test/dummy/app/assets/javascripts/cable.js".freeze, "test/dummy/app/assets/javascripts/channels/.keep".freeze, "test/dummy/app/assets/stylesheets/application.css".freeze, "test/dummy/app/channels/application_cable/channel.rb".freeze, "test/dummy/app/channels/application_cable/connection.rb".freeze, "test/dummy/app/controllers/application_controller.rb".freeze, "test/dummy/app/controllers/concerns/.keep".freeze, "test/dummy/app/controllers/group_controller.rb".freeze, "test/dummy/app/helpers/application_helper.rb".freeze, "test/dummy/app/jobs/application_job.rb".freeze, "test/dummy/app/mailers/application_mailer.rb".freeze, "test/dummy/app/models/ability.rb".freeze, "test/dummy/app/models/animal.rb".freeze, "test/dummy/app/models/application_record.rb".freeze, "test/dummy/app/models/bird.rb".freeze, "test/dummy/app/models/cat.rb".freeze, "test/dummy/app/models/computer.rb".freeze, "test/dummy/app/models/concerns/.keep".freeze, "test/dummy/app/models/cpu.rb".freeze, "test/dummy/app/models/dog.rb".freeze, "test/dummy/app/models/flower.rb".freeze, "test/dummy/app/models/group.rb".freeze, "test/dummy/app/models/mainboard.rb".freeze, "test/dummy/app/models/nightingale.rb".freeze, "test/dummy/app/models/phoenix.rb".freeze, "test/dummy/app/models/user.rb".freeze, "test/dummy/app/views/layouts/application.html.erb".freeze, "test/dummy/app/views/layouts/mailer.html.erb".freeze, "test/dummy/app/views/layouts/mailer.text.erb".freeze, "test/dummy/bin/bundle".freeze, "test/dummy/bin/rails".freeze, "test/dummy/bin/rake".freeze, "test/dummy/bin/setup".freeze, "test/dummy/bin/update".freeze, "test/dummy/bin/yarn".freeze, "test/dummy/config.ru".freeze, "test/dummy/config/application.rb".freeze, "test/dummy/config/boot.rb".freeze, "test/dummy/config/cable.yml".freeze, "test/dummy/config/database.yml".freeze, "test/dummy/config/environment.rb".freeze, "test/dummy/config/environments/development.rb".freeze, "test/dummy/config/environments/production.rb".freeze, "test/dummy/config/environments/test.rb".freeze, "test/dummy/config/hookup.rb".freeze, "test/dummy/config/initializers/application_controller_renderer.rb".freeze, "test/dummy/config/initializers/assets.rb".freeze, "test/dummy/config/initializers/backtrace_silencers.rb".freeze, "test/dummy/config/initializers/cookies_serializer.rb".freeze, "test/dummy/config/initializers/filter_parameter_logging.rb".freeze, "test/dummy/config/initializers/inflections.rb".freeze, "test/dummy/config/initializers/mime_types.rb".freeze, "test/dummy/config/initializers/rails_ops.rb".freeze, "test/dummy/config/initializers/wrap_parameters.rb".freeze, "test/dummy/config/locales/en.yml".freeze, "test/dummy/config/puma.rb".freeze, "test/dummy/config/routes.rb".freeze, "test/dummy/config/secrets.yml".freeze, "test/dummy/config/spring.rb".freeze, "test/dummy/db/schema.rb".freeze, "test/dummy/lib/assets/.keep".freeze, "test/dummy/log/.keep".freeze, "test/dummy/package.json".freeze, "test/dummy/public/404.html".freeze, "test/dummy/public/422.html".freeze, "test/dummy/public/500.html".freeze, "test/dummy/public/apple-touch-icon-precomposed.png".freeze, "test/dummy/public/apple-touch-icon.png".freeze, "test/dummy/public/favicon.ico".freeze, "test/dummy/tmp/.keep".freeze, "test/test_helper.rb".freeze, "test/unit/rails_ops/generators/operation_generator_test.rb".freeze, "test/unit/rails_ops/hookup_test.rb".freeze, "test/unit/rails_ops/mixins/controller_test.rb".freeze, "test/unit/rails_ops/mixins/model/deep_nesting_test.rb".freeze, "test/unit/rails_ops/mixins/model/marshalling_test.rb".freeze, "test/unit/rails_ops/mixins/param_authorization_test.rb".freeze, "test/unit/rails_ops/mixins/policies_test.rb".freeze, "test/unit/rails_ops/operation/auth_test.rb".freeze, "test/unit/rails_ops/operation/model/create_test.rb".freeze, "test/unit/rails_ops/operation/model/destroy_test.rb".freeze, "test/unit/rails_ops/operation/model/load_test.rb".freeze, "test/unit/rails_ops/operation/model/sti_test.rb".freeze, "test/unit/rails_ops/operation/model/update_test.rb".freeze, "test/unit/rails_ops/operation/model_test.rb".freeze, "test/unit/rails_ops/operation/update_lazy_auth_test.rb".freeze, "test/unit/rails_ops/operation_test.rb".freeze, "test/unit/rails_ops/profiler_test.rb".freeze]
13
13
  s.licenses = ["MIT".freeze]
14
- s.rubygems_version = "3.4.22".freeze
14
+ s.rubygems_version = "3.4.6".freeze
15
15
  s.summary = "An operations service layer for rails projects.".freeze
16
16
  s.test_files = ["test/db/models.rb".freeze, "test/db/schema.rb".freeze, "test/dummy/Rakefile".freeze, "test/dummy/app/assets/config/manifest.js".freeze, "test/dummy/app/assets/images/.keep".freeze, "test/dummy/app/assets/javascripts/application.js".freeze, "test/dummy/app/assets/javascripts/cable.js".freeze, "test/dummy/app/assets/javascripts/channels/.keep".freeze, "test/dummy/app/assets/stylesheets/application.css".freeze, "test/dummy/app/channels/application_cable/channel.rb".freeze, "test/dummy/app/channels/application_cable/connection.rb".freeze, "test/dummy/app/controllers/application_controller.rb".freeze, "test/dummy/app/controllers/concerns/.keep".freeze, "test/dummy/app/controllers/group_controller.rb".freeze, "test/dummy/app/helpers/application_helper.rb".freeze, "test/dummy/app/jobs/application_job.rb".freeze, "test/dummy/app/mailers/application_mailer.rb".freeze, "test/dummy/app/models/ability.rb".freeze, "test/dummy/app/models/animal.rb".freeze, "test/dummy/app/models/application_record.rb".freeze, "test/dummy/app/models/bird.rb".freeze, "test/dummy/app/models/cat.rb".freeze, "test/dummy/app/models/computer.rb".freeze, "test/dummy/app/models/concerns/.keep".freeze, "test/dummy/app/models/cpu.rb".freeze, "test/dummy/app/models/dog.rb".freeze, "test/dummy/app/models/flower.rb".freeze, "test/dummy/app/models/group.rb".freeze, "test/dummy/app/models/mainboard.rb".freeze, "test/dummy/app/models/nightingale.rb".freeze, "test/dummy/app/models/phoenix.rb".freeze, "test/dummy/app/models/user.rb".freeze, "test/dummy/app/views/layouts/application.html.erb".freeze, "test/dummy/app/views/layouts/mailer.html.erb".freeze, "test/dummy/app/views/layouts/mailer.text.erb".freeze, "test/dummy/bin/bundle".freeze, "test/dummy/bin/rails".freeze, "test/dummy/bin/rake".freeze, "test/dummy/bin/setup".freeze, "test/dummy/bin/update".freeze, "test/dummy/bin/yarn".freeze, "test/dummy/config.ru".freeze, "test/dummy/config/application.rb".freeze, "test/dummy/config/boot.rb".freeze, "test/dummy/config/cable.yml".freeze, "test/dummy/config/database.yml".freeze, "test/dummy/config/environment.rb".freeze, "test/dummy/config/environments/development.rb".freeze, "test/dummy/config/environments/production.rb".freeze, "test/dummy/config/environments/test.rb".freeze, "test/dummy/config/hookup.rb".freeze, "test/dummy/config/initializers/application_controller_renderer.rb".freeze, "test/dummy/config/initializers/assets.rb".freeze, "test/dummy/config/initializers/backtrace_silencers.rb".freeze, "test/dummy/config/initializers/cookies_serializer.rb".freeze, "test/dummy/config/initializers/filter_parameter_logging.rb".freeze, "test/dummy/config/initializers/inflections.rb".freeze, "test/dummy/config/initializers/mime_types.rb".freeze, "test/dummy/config/initializers/rails_ops.rb".freeze, "test/dummy/config/initializers/wrap_parameters.rb".freeze, "test/dummy/config/locales/en.yml".freeze, "test/dummy/config/puma.rb".freeze, "test/dummy/config/routes.rb".freeze, "test/dummy/config/secrets.yml".freeze, "test/dummy/config/spring.rb".freeze, "test/dummy/db/schema.rb".freeze, "test/dummy/lib/assets/.keep".freeze, "test/dummy/log/.keep".freeze, "test/dummy/package.json".freeze, "test/dummy/public/404.html".freeze, "test/dummy/public/422.html".freeze, "test/dummy/public/500.html".freeze, "test/dummy/public/apple-touch-icon-precomposed.png".freeze, "test/dummy/public/apple-touch-icon.png".freeze, "test/dummy/public/favicon.ico".freeze, "test/dummy/tmp/.keep".freeze, "test/test_helper.rb".freeze, "test/unit/rails_ops/generators/operation_generator_test.rb".freeze, "test/unit/rails_ops/hookup_test.rb".freeze, "test/unit/rails_ops/mixins/controller_test.rb".freeze, "test/unit/rails_ops/mixins/model/deep_nesting_test.rb".freeze, "test/unit/rails_ops/mixins/model/marshalling_test.rb".freeze, "test/unit/rails_ops/mixins/param_authorization_test.rb".freeze, "test/unit/rails_ops/mixins/policies_test.rb".freeze, "test/unit/rails_ops/operation/auth_test.rb".freeze, "test/unit/rails_ops/operation/model/create_test.rb".freeze, "test/unit/rails_ops/operation/model/destroy_test.rb".freeze, "test/unit/rails_ops/operation/model/load_test.rb".freeze, "test/unit/rails_ops/operation/model/sti_test.rb".freeze, "test/unit/rails_ops/operation/model/update_test.rb".freeze, "test/unit/rails_ops/operation/model_test.rb".freeze, "test/unit/rails_ops/operation/update_lazy_auth_test.rb".freeze, "test/unit/rails_ops/operation_test.rb".freeze, "test/unit/rails_ops/profiler_test.rb".freeze]
17
17
 
18
18
  s.specification_version = 4
19
19
 
20
- s.add_development_dependency(%q<appraisal>.freeze, [">= 0".freeze])
21
- s.add_development_dependency(%q<bundler>.freeze, [">= 0".freeze])
22
- s.add_development_dependency(%q<rake>.freeze, [">= 0".freeze])
23
- s.add_development_dependency(%q<sqlite3>.freeze, [">= 0".freeze])
24
- s.add_development_dependency(%q<cancancan>.freeze, [">= 0".freeze])
25
- s.add_development_dependency(%q<pry>.freeze, [">= 0".freeze])
26
- s.add_development_dependency(%q<colorize>.freeze, [">= 0".freeze])
27
- s.add_development_dependency(%q<rubocop>.freeze, ["= 1.45.1".freeze])
28
- s.add_development_dependency(%q<sprockets-rails>.freeze, [">= 0".freeze])
29
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0".freeze])
30
- s.add_runtime_dependency(%q<active_type>.freeze, [">= 1.3.0".freeze])
31
- s.add_runtime_dependency(%q<minitest>.freeze, [">= 0".freeze])
32
- s.add_runtime_dependency(%q<rails>.freeze, [">= 0".freeze])
33
- s.add_runtime_dependency(%q<request_store>.freeze, [">= 0".freeze])
34
- s.add_runtime_dependency(%q<schemacop>.freeze, [">= 3.0.0".freeze, "<= 3.1".freeze])
20
+ s.add_development_dependency(%q<appraisal>.freeze, [">= 0"])
21
+ s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
22
+ s.add_development_dependency(%q<rake>.freeze, [">= 0"])
23
+ s.add_development_dependency(%q<sqlite3>.freeze, ["< 2.0.0"])
24
+ s.add_development_dependency(%q<cancancan>.freeze, [">= 0"])
25
+ s.add_development_dependency(%q<pry>.freeze, [">= 0"])
26
+ s.add_development_dependency(%q<colorize>.freeze, [">= 0"])
27
+ s.add_development_dependency(%q<rubocop>.freeze, ["= 1.45.1"])
28
+ s.add_development_dependency(%q<sprockets-rails>.freeze, [">= 0"])
29
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
30
+ s.add_runtime_dependency(%q<active_type>.freeze, [">= 1.3.0"])
31
+ s.add_runtime_dependency(%q<minitest>.freeze, [">= 0"])
32
+ s.add_runtime_dependency(%q<rails>.freeze, [">= 0"])
33
+ s.add_runtime_dependency(%q<request_store>.freeze, [">= 0"])
34
+ s.add_runtime_dependency(%q<schemacop>.freeze, [">= 3.0.0", "<= 3.1"])
35
35
  end
@@ -50,7 +50,7 @@ class RailsOps::Operation::ModelTest < ActiveSupport::TestCase
50
50
  def test_virtual_model_write_attribute
51
51
  cls = Class.new(RailsOps::Operation::Model) do
52
52
  model RailsOps::VirtualModel, 'Example' do
53
- attribute :name, default: 'name'
53
+ attribute :name, default: 'name'.freeze
54
54
  end
55
55
  end
56
56
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_ops
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.4
4
+ version: 1.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sitrox
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-12 00:00:00.000000000 Z
11
+ date: 2024-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appraisal
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: sqlite3
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "<"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 2.0.0
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'
68
+ version: 2.0.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: cancancan
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -226,8 +226,8 @@ dependencies:
226
226
  - - "<="
227
227
  - !ruby/object:Gem::Version
228
228
  version: '3.1'
229
- description:
230
- email:
229
+ description:
230
+ email:
231
231
  executables: []
232
232
  extensions: []
233
233
  extra_rdoc_files: []
@@ -398,11 +398,11 @@ files:
398
398
  - test/unit/rails_ops/operation/update_lazy_auth_test.rb
399
399
  - test/unit/rails_ops/operation_test.rb
400
400
  - test/unit/rails_ops/profiler_test.rb
401
- homepage:
401
+ homepage:
402
402
  licenses:
403
403
  - MIT
404
404
  metadata: {}
405
- post_install_message:
405
+ post_install_message:
406
406
  rdoc_options: []
407
407
  require_paths:
408
408
  - lib
@@ -417,8 +417,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
417
417
  - !ruby/object:Gem::Version
418
418
  version: '0'
419
419
  requirements: []
420
- rubygems_version: 3.4.22
421
- signing_key:
420
+ rubygems_version: 3.5.4
421
+ signing_key:
422
422
  specification_version: 4
423
423
  summary: An operations service layer for rails projects.
424
424
  test_files: