active_manageable 0.2.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 33e6916eea9e70cfa5c04813328b8e1cb21e93f3f2638705b2ec0b37748de51c
4
- data.tar.gz: 37122950ad83b210bd043ce2fc556032451df60deef18dc4f58cead9917f1f1f
3
+ metadata.gz: 1e8924b12e5d39614a69f6a379c3adeab0c807cf3b744b8bf85d71e4c7d63eb2
4
+ data.tar.gz: 3a392f5c53de2a9bd312cc4fc764adab45bc83919a61ebdecb60a99fdcfb7794
5
5
  SHA512:
6
- metadata.gz: d2afeaad9032f497b31208e0e4c8b21e209b40d81346dc1468a3eefdb251e1d6c5c01f6759d58e2cab99782116920845077fd62bcb90a54e20ac7c322c556647
7
- data.tar.gz: 608affa3ab36c003c03c0af6f27d09b404cfd6e8b987bd6ec57b3605b7f93910b95409073afda386f1e4fb33998cb07bdcc1428ddcf23ae3bac5eb2e2b0eefb7
6
+ metadata.gz: bdc4aab9ce97595eb76c25e7fb7bdd777d0310b7161855046b7240fd36066d3adb5bad77a69fe0d552546862544133895e8aa642ca5b16f2e835affd32e80824
7
+ data.tar.gz: 9babc1cbafc079eaac9520b3ac25ad5a4eece500ec1770b01a730307475309ef50242a89e953147f5bb182ab891159bb10f4c39f953a0e330ae07d36dd227f86
@@ -17,23 +17,35 @@ jobs:
17
17
  strategy:
18
18
  fail-fast: false # should GitHub cancel all in-progress jobs if any matrix job fails
19
19
  matrix:
20
- ruby-version: ['2.7']
21
- gemfile: ['rails_6_0']
20
+ ruby-version: ['3.0']
21
+ gemfile: ['rails_7_0']
22
22
  include:
23
- - ruby-version: '2.7'
24
- gemfile: 'rails_6_1'
25
- - ruby-version: '2.7'
26
- gemfile: 'rails_7_0'
27
- - ruby-version: '3.0'
28
- gemfile: 'rails_6_0'
29
- - ruby-version: '3.0'
30
- gemfile: 'rails_6_1'
31
23
  - ruby-version: '3.0'
24
+ gemfile: 'rails_7_1'
25
+ - ruby-version: '3.1'
32
26
  gemfile: 'rails_7_0'
33
27
  - ruby-version: '3.1'
34
- gemfile: 'rails_6_1'
28
+ gemfile: 'rails_7_1'
35
29
  - ruby-version: '3.1'
30
+ gemfile: 'rails_7_2'
31
+ - ruby-version: '3.2'
32
+ gemfile: 'rails_7_0'
33
+ - ruby-version: '3.2'
34
+ gemfile: 'rails_7_1'
35
+ - ruby-version: '3.2'
36
+ gemfile: 'rails_7_2'
37
+ - ruby-version: '3.3'
38
+ gemfile: 'rails_7_0'
39
+ - ruby-version: '3.3'
40
+ gemfile: 'rails_7_1'
41
+ - ruby-version: '3.3'
42
+ gemfile: 'rails_7_2'
43
+ - ruby-version: '3.4'
36
44
  gemfile: 'rails_7_0'
45
+ - ruby-version: '3.4'
46
+ gemfile: 'rails_7_1'
47
+ - ruby-version: '3.4'
48
+ gemfile: 'rails_7_2'
37
49
 
38
50
  env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
39
51
  BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
data/.gitignore CHANGED
@@ -11,7 +11,7 @@
11
11
  .rspec_status
12
12
 
13
13
  # dummy application
14
- /spec/dummy/db/*.sqlite3
14
+ /spec/dummy/db/*.sqlite3*
15
15
  /spec/dummy/log/*.log
16
16
  /spec/dummy/storage/
17
17
  /spec/dummy/tmp/
data/.rubocop.yml CHANGED
@@ -1,9 +1,7 @@
1
- # .rubocop.yml
2
-
3
- # Based article from Evil Martians
4
- # https://evilmartians.com/chronicles/rubocoping-with-legacy-bring-your-ruby-code-up-to-standard
5
- # referenced in standard readme relating to use of Standard with Rubocop extensions
6
- # https://github.com/testdouble/standard
1
+ # Inherit Standard's configuration
2
+ inherit_gem:
3
+ standard: config/base.yml
4
+ standard-rails: config/base.yml
7
5
 
8
6
  # We want Exclude directives from different
9
7
  # config files to get merged, not overwritten
@@ -11,23 +9,13 @@ inherit_mode:
11
9
  merge:
12
10
  - Exclude
13
11
 
14
- require:
15
- # Performance cops are bundled with Standard
12
+ plugins:
13
+ - rubocop-rails
16
14
  - rubocop-performance
17
- # Standard's config uses this custom cop,
18
- # so it must be loaded
19
- - standard/cop/block_single_line_braces
20
-
21
- inherit_gem:
22
- standard: config/base.yml
23
-
24
- inherit_from:
25
- - .rubocop_rails.yml
26
- - .rubocop_rspec.yml
27
15
 
28
16
  AllCops:
29
17
  NewCops: enable
30
- TargetRubyVersion: 2.7
18
+ TargetRubyVersion: 3.4.5
31
19
  Exclude:
32
20
  - "spec/dummy/config/*"
33
21
  - "spec/dummy/config/environments/*"
@@ -40,3 +28,8 @@ Style/ClassEqualityComparison:
40
28
  Enabled: true
41
29
  Exclude:
42
30
  - "lib/active_manageable/base.rb"
31
+
32
+ Style/RedundantParentheses:
33
+ Enabled: true
34
+ Exclude:
35
+ - "lib/active_manageable/methods/auxiliary/model_attributes.rb"
data/Appraisals CHANGED
@@ -10,18 +10,27 @@
10
10
  #
11
11
  # Run each appraisal in turn or a single appraisal:-
12
12
  # $ bundle exec appraisal rspec
13
- # $ bundle exec appraisal rails-6-1 rspec
14
- appraise "rails-7-0" do
15
- gem "activerecord", "~> 7.0"
16
- gem "activesupport", "~> 7.0"
13
+ # $ bundle exec appraisal rails-7-2 rspec
14
+ appraise "rails-7-2" do
15
+ gem "activerecord", "~> 7.2.0"
16
+ gem "activesupport", "~> 7.2.0"
17
17
  end
18
18
 
19
- appraise "rails-6-1" do
20
- gem "activerecord", "~> 6.1"
21
- gem "activesupport", "~> 6.1"
19
+ appraise "rails-7-1" do
20
+ gem "activerecord", "~> 7.1.0"
21
+ gem "activesupport", "~> 7.1.0"
22
22
  end
23
23
 
24
- appraise "rails-6-0" do
25
- gem "activerecord", "~> 6.0.1"
26
- gem "activesupport", "~> 6.0.1"
24
+ appraise "rails-7-0" do
25
+ gem "activerecord", "~> 7.0.0"
26
+ gem "activesupport", "~> 7.0.0"
27
+ gem "sqlite3", "~> 1.4"
28
+ # cater for gems not shipped as default with Ruby 3.4
29
+ # but required by ActiveSupport
30
+ gem "logger"
31
+ gem "base64"
32
+ gem "bigdecimal"
33
+ gem "mutex_m"
34
+ gem "drb"
35
+ gem "benchmark"
27
36
  end
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.3.0 - 2025-08-28
4
+
5
+ * Add support and test coverage for all minor versions of Rails 7 and Ruby 3
6
+ * Drop support for Rails 6 and Ruby 2.7
7
+ * Use base_label in calling_method method for Ruby 3.4.x compatibility
8
+
3
9
  ## 0.2.0 - 2022-09-27
4
10
 
5
11
  * Allow the configuration library options to accept a module
data/Gemfile.lock CHANGED
@@ -1,59 +1,84 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_manageable (0.2.0)
5
- activerecord (>= 6.0)
6
- activesupport (>= 6.0)
4
+ active_manageable (0.3.0)
5
+ activerecord (>= 7.0)
6
+ activesupport (>= 7.0)
7
7
  flexitime (~> 1.0)
8
8
  rails-i18n
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- actionpack (7.0.3.1)
14
- actionview (= 7.0.3.1)
15
- activesupport (= 7.0.3.1)
16
- rack (~> 2.0, >= 2.2.0)
13
+ actionpack (7.2.2.2)
14
+ actionview (= 7.2.2.2)
15
+ activesupport (= 7.2.2.2)
16
+ nokogiri (>= 1.8.5)
17
+ racc
18
+ rack (>= 2.2.4, < 3.2)
19
+ rack-session (>= 1.0.1)
17
20
  rack-test (>= 0.6.3)
18
- rails-dom-testing (~> 2.0)
19
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
20
- actionview (7.0.3.1)
21
- activesupport (= 7.0.3.1)
21
+ rails-dom-testing (~> 2.2)
22
+ rails-html-sanitizer (~> 1.6)
23
+ useragent (~> 0.16)
24
+ actionview (7.2.2.2)
25
+ activesupport (= 7.2.2.2)
22
26
  builder (~> 3.1)
23
- erubi (~> 1.4)
24
- rails-dom-testing (~> 2.0)
25
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
26
- activemodel (7.0.3.1)
27
- activesupport (= 7.0.3.1)
28
- activerecord (7.0.3.1)
29
- activemodel (= 7.0.3.1)
30
- activesupport (= 7.0.3.1)
31
- activesupport (7.0.3.1)
32
- concurrent-ruby (~> 1.0, >= 1.0.2)
27
+ erubi (~> 1.11)
28
+ rails-dom-testing (~> 2.2)
29
+ rails-html-sanitizer (~> 1.6)
30
+ activemodel (7.2.2.2)
31
+ activesupport (= 7.2.2.2)
32
+ activerecord (7.2.2.2)
33
+ activemodel (= 7.2.2.2)
34
+ activesupport (= 7.2.2.2)
35
+ timeout (>= 0.4.0)
36
+ activesupport (7.2.2.2)
37
+ base64
38
+ benchmark (>= 0.3)
39
+ bigdecimal
40
+ concurrent-ruby (~> 1.0, >= 1.3.1)
41
+ connection_pool (>= 2.2.5)
42
+ drb
33
43
  i18n (>= 1.6, < 2)
44
+ logger (>= 1.4.2)
34
45
  minitest (>= 5.1)
35
- tzinfo (~> 2.0)
36
- appraisal (2.4.1)
46
+ securerandom (>= 0.3)
47
+ tzinfo (~> 2.0, >= 2.0.5)
48
+ appraisal (2.5.0)
37
49
  bundler
38
50
  rake
39
51
  thor (>= 0.14.0)
40
- ast (2.4.2)
41
- builder (3.2.4)
42
- cancancan (3.4.0)
43
- concurrent-ruby (1.1.10)
52
+ ast (2.4.3)
53
+ base64 (0.3.0)
54
+ benchmark (0.4.1)
55
+ bigdecimal (3.2.2)
56
+ builder (3.3.0)
57
+ cancancan (3.6.1)
58
+ concurrent-ruby (1.3.5)
59
+ connection_pool (2.5.3)
44
60
  crass (1.0.6)
45
- diff-lcs (1.5.0)
46
- docile (1.4.0)
47
- erubi (1.11.0)
48
- factory_bot (6.2.1)
49
- activesupport (>= 5.0.0)
50
- factory_bot_rails (6.2.0)
51
- factory_bot (~> 6.2.0)
52
- railties (>= 5.0.0)
61
+ date (3.4.1)
62
+ diff-lcs (1.6.2)
63
+ docile (1.4.1)
64
+ drb (2.2.3)
65
+ erb (5.0.2)
66
+ erubi (1.13.1)
67
+ factory_bot (6.5.5)
68
+ activesupport (>= 6.1.0)
69
+ factory_bot_rails (6.5.0)
70
+ factory_bot (~> 6.5)
71
+ railties (>= 6.1.0)
53
72
  flexitime (1.0.0)
54
73
  activesupport (>= 4.0)
55
- i18n (1.12.0)
74
+ i18n (1.14.7)
56
75
  concurrent-ruby (~> 1.0)
76
+ io-console (0.8.1)
77
+ irb (1.15.2)
78
+ pp (>= 0.6.0)
79
+ rdoc (>= 4.0.0)
80
+ reline (>= 0.4.2)
81
+ json (2.13.2)
57
82
  kaminari (1.2.2)
58
83
  activesupport (>= 4.1.0)
59
84
  kaminari-actionview (= 1.2.2)
@@ -66,109 +91,154 @@ GEM
66
91
  activerecord
67
92
  kaminari-core (= 1.2.2)
68
93
  kaminari-core (1.2.2)
69
- loofah (2.18.0)
94
+ language_server-protocol (3.17.0.5)
95
+ lint_roller (1.1.0)
96
+ logger (1.7.0)
97
+ loofah (2.24.1)
70
98
  crass (~> 1.0.2)
71
- nokogiri (>= 1.5.9)
72
- method_source (1.0.0)
73
- minitest (5.16.3)
74
- nokogiri (1.13.8-arm64-darwin)
99
+ nokogiri (>= 1.12.0)
100
+ minitest (5.25.5)
101
+ nokogiri (1.18.9-arm64-darwin)
75
102
  racc (~> 1.4)
76
- nokogiri (1.13.8-x86_64-linux)
103
+ nokogiri (1.18.9-x86_64-linux-gnu)
77
104
  racc (~> 1.4)
78
- parallel (1.22.1)
79
- parser (3.1.2.1)
105
+ parallel (1.27.0)
106
+ parser (3.3.9.0)
80
107
  ast (~> 2.4.1)
81
- pundit (2.2.0)
108
+ racc
109
+ pp (0.6.2)
110
+ prettyprint
111
+ prettyprint (0.2.0)
112
+ prism (1.4.0)
113
+ psych (5.2.6)
114
+ date
115
+ stringio
116
+ pundit (2.5.0)
82
117
  activesupport (>= 3.0.0)
83
- racc (1.6.0)
84
- rack (2.2.4)
85
- rack-test (2.0.2)
118
+ racc (1.8.1)
119
+ rack (3.1.16)
120
+ rack-session (2.1.1)
121
+ base64 (>= 0.1.0)
122
+ rack (>= 3.0.0)
123
+ rack-test (2.2.0)
86
124
  rack (>= 1.3)
125
+ rackup (2.2.1)
126
+ rack (>= 3)
87
127
  rails-controller-testing (1.0.5)
88
128
  actionpack (>= 5.0.1.rc1)
89
129
  actionview (>= 5.0.1.rc1)
90
130
  activesupport (>= 5.0.1.rc1)
91
- rails-dom-testing (2.0.3)
92
- activesupport (>= 4.2.0)
131
+ rails-dom-testing (2.3.0)
132
+ activesupport (>= 5.0.0)
133
+ minitest
93
134
  nokogiri (>= 1.6)
94
- rails-html-sanitizer (1.4.3)
95
- loofah (~> 2.3)
96
- rails-i18n (7.0.5)
135
+ rails-html-sanitizer (1.6.2)
136
+ loofah (~> 2.21)
137
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
138
+ rails-i18n (7.0.10)
97
139
  i18n (>= 0.7, < 2)
98
140
  railties (>= 6.0.0, < 8)
99
- railties (7.0.3.1)
100
- actionpack (= 7.0.3.1)
101
- activesupport (= 7.0.3.1)
102
- method_source
141
+ railties (7.2.2.2)
142
+ actionpack (= 7.2.2.2)
143
+ activesupport (= 7.2.2.2)
144
+ irb (~> 1.13)
145
+ rackup (>= 1.0.0)
103
146
  rake (>= 12.2)
104
- thor (~> 1.0)
105
- zeitwerk (~> 2.5)
147
+ thor (~> 1.0, >= 1.2.2)
148
+ zeitwerk (~> 2.6)
106
149
  rainbow (3.1.1)
107
- rake (13.0.6)
108
- ransack (3.2.1)
150
+ rake (13.3.0)
151
+ ransack (4.3.0)
109
152
  activerecord (>= 6.1.5)
110
153
  activesupport (>= 6.1.5)
111
154
  i18n
112
- regexp_parser (2.5.0)
113
- rexml (3.2.5)
114
- rspec-core (3.11.0)
115
- rspec-support (~> 3.11.0)
116
- rspec-expectations (3.11.0)
155
+ rdoc (6.14.2)
156
+ erb
157
+ psych (>= 4.0.0)
158
+ regexp_parser (2.11.2)
159
+ reline (0.6.2)
160
+ io-console (~> 0.5)
161
+ rspec-core (3.13.5)
162
+ rspec-support (~> 3.13.0)
163
+ rspec-expectations (3.13.5)
117
164
  diff-lcs (>= 1.2.0, < 2.0)
118
- rspec-support (~> 3.11.0)
119
- rspec-mocks (3.11.1)
165
+ rspec-support (~> 3.13.0)
166
+ rspec-mocks (3.13.5)
120
167
  diff-lcs (>= 1.2.0, < 2.0)
121
- rspec-support (~> 3.11.0)
122
- rspec-rails (5.1.2)
123
- actionpack (>= 5.2)
124
- activesupport (>= 5.2)
125
- railties (>= 5.2)
126
- rspec-core (~> 3.10)
127
- rspec-expectations (~> 3.10)
128
- rspec-mocks (~> 3.10)
129
- rspec-support (~> 3.10)
130
- rspec-support (3.11.0)
131
- rubocop (1.23.0)
168
+ rspec-support (~> 3.13.0)
169
+ rspec-rails (8.0.2)
170
+ actionpack (>= 7.2)
171
+ activesupport (>= 7.2)
172
+ railties (>= 7.2)
173
+ rspec-core (~> 3.13)
174
+ rspec-expectations (~> 3.13)
175
+ rspec-mocks (~> 3.13)
176
+ rspec-support (~> 3.13)
177
+ rspec-support (3.13.5)
178
+ rubocop (1.75.8)
179
+ json (~> 2.3)
180
+ language_server-protocol (~> 3.17.0.2)
181
+ lint_roller (~> 1.1.0)
132
182
  parallel (~> 1.10)
133
- parser (>= 3.0.0.0)
183
+ parser (>= 3.3.0.2)
134
184
  rainbow (>= 2.2.2, < 4.0)
135
- regexp_parser (>= 1.8, < 3.0)
136
- rexml
137
- rubocop-ast (>= 1.12.0, < 2.0)
185
+ regexp_parser (>= 2.9.3, < 3.0)
186
+ rubocop-ast (>= 1.44.0, < 2.0)
138
187
  ruby-progressbar (~> 1.7)
139
- unicode-display_width (>= 1.4.0, < 3.0)
140
- rubocop-ast (1.21.0)
141
- parser (>= 3.1.1.0)
142
- rubocop-performance (1.12.0)
143
- rubocop (>= 1.7.0, < 2.0)
144
- rubocop-ast (>= 0.4.0)
145
- rubocop-rails (2.15.2)
188
+ unicode-display_width (>= 2.4.0, < 4.0)
189
+ rubocop-ast (1.46.0)
190
+ parser (>= 3.3.7.2)
191
+ prism (~> 1.4)
192
+ rubocop-performance (1.25.0)
193
+ lint_roller (~> 1.1)
194
+ rubocop (>= 1.75.0, < 2.0)
195
+ rubocop-ast (>= 1.38.0, < 2.0)
196
+ rubocop-rails (2.31.0)
146
197
  activesupport (>= 4.2.0)
198
+ lint_roller (~> 1.1)
147
199
  rack (>= 1.1)
148
- rubocop (>= 1.7.0, < 2.0)
200
+ rubocop (>= 1.75.0, < 2.0)
201
+ rubocop-ast (>= 1.38.0, < 2.0)
149
202
  rubocop-rspec (2.11.1)
150
203
  rubocop (~> 1.19)
151
- ruby-progressbar (1.11.0)
152
- shoulda-matchers (5.1.0)
204
+ ruby-progressbar (1.13.0)
205
+ securerandom (0.4.1)
206
+ shoulda-matchers (6.5.0)
153
207
  activesupport (>= 5.2.0)
154
- simplecov (0.21.2)
208
+ simplecov (0.22.0)
155
209
  docile (~> 1.1)
156
210
  simplecov-html (~> 0.11)
157
211
  simplecov_json_formatter (~> 0.1)
158
- simplecov-html (0.12.3)
212
+ simplecov-html (0.13.2)
159
213
  simplecov_json_formatter (0.1.4)
160
- sqlite3 (1.4.4)
161
- standard (1.5.0)
162
- rubocop (= 1.23.0)
163
- rubocop-performance (= 1.12.0)
164
- thor (1.2.1)
165
- tzinfo (2.0.5)
214
+ sqlite3 (2.7.3-arm64-darwin)
215
+ sqlite3 (2.7.3-x86_64-linux-gnu)
216
+ standard (1.50.0)
217
+ language_server-protocol (~> 3.17.0.2)
218
+ lint_roller (~> 1.0)
219
+ rubocop (~> 1.75.5)
220
+ standard-custom (~> 1.0.0)
221
+ standard-performance (~> 1.8)
222
+ standard-custom (1.0.2)
223
+ lint_roller (~> 1.0)
224
+ rubocop (~> 1.50)
225
+ standard-performance (1.8.0)
226
+ lint_roller (~> 1.1)
227
+ rubocop-performance (~> 1.25.0)
228
+ standard-rails (1.4.0)
229
+ lint_roller (~> 1.0)
230
+ rubocop-rails (~> 2.31.0)
231
+ stringio (3.1.7)
232
+ thor (1.4.0)
233
+ timeout (0.4.3)
234
+ tzinfo (2.0.6)
166
235
  concurrent-ruby (~> 1.0)
167
- unicode-display_width (2.2.0)
168
- zeitwerk (2.6.0)
236
+ unicode-display_width (2.6.0)
237
+ useragent (0.16.11)
238
+ zeitwerk (2.7.3)
169
239
 
170
240
  PLATFORMS
171
- arm64-darwin-21
241
+ arm64-darwin-24
172
242
  x86_64-linux
173
243
 
174
244
  DEPENDENCIES
@@ -179,16 +249,17 @@ DEPENDENCIES
179
249
  kaminari
180
250
  pundit
181
251
  rails-controller-testing
182
- rake (~> 13.0)
252
+ rake
183
253
  ransack
184
254
  rspec-rails
185
- rubocop (= 1.23.0)
255
+ rubocop
186
256
  rubocop-rails
187
257
  rubocop-rspec
188
258
  shoulda-matchers
189
259
  simplecov
190
- sqlite3 (~> 1.4.0)
260
+ sqlite3
191
261
  standard
262
+ standard-rails
192
263
 
193
264
  BUNDLED WITH
194
- 2.2.22
265
+ 2.7.1
@@ -14,8 +14,7 @@ Gem::Specification.new do |spec|
14
14
  spec.homepage = "https://github.com/CircleSD/active_manageable"
15
15
  spec.license = "MIT"
16
16
 
17
- # Minimum version of Ruby compatible with Rails 7.0
18
- spec.required_ruby_version = ">= 2.7.0"
17
+ spec.required_ruby_version = ">= 3.0.0"
19
18
 
20
19
  # Metadata used on gem’s profile page on rubygems.org
21
20
  spec.metadata["homepage_uri"] = spec.homepage
@@ -41,17 +40,17 @@ Gem::Specification.new do |spec|
41
40
  # including gems that are essential to test and build this gem
42
41
 
43
42
  # rails dependencies
44
- spec.add_dependency "activerecord", ">= 6.0"
45
- spec.add_dependency "activesupport", ">= 6.0"
43
+ spec.add_dependency "activerecord", ">= 7.0"
44
+ spec.add_dependency "activesupport", ">= 7.0"
46
45
 
47
46
  # gem dependencies
48
47
  spec.add_dependency "rails-i18n"
49
48
  spec.add_dependency "flexitime", "~> 1.0"
50
49
 
51
50
  # test dependencies
52
- spec.add_development_dependency "rake", "~> 13.0"
51
+ spec.add_development_dependency "rake"
53
52
  spec.add_development_dependency "appraisal"
54
- spec.add_development_dependency "sqlite3", "~> 1.4.0"
53
+ spec.add_development_dependency "sqlite3"
55
54
  spec.add_development_dependency "rspec-rails"
56
55
  spec.add_development_dependency "rails-controller-testing"
57
56
  spec.add_development_dependency "factory_bot_rails"
@@ -65,8 +64,9 @@ Gem::Specification.new do |spec|
65
64
  spec.add_development_dependency "kaminari"
66
65
 
67
66
  # linter dependencies
68
- spec.add_development_dependency "rubocop", "1.23.0"
67
+ spec.add_development_dependency "rubocop"
69
68
  spec.add_development_dependency "standard"
69
+ spec.add_development_dependency "standard-rails"
70
70
  spec.add_development_dependency "rubocop-rails"
71
71
  spec.add_development_dependency "rubocop-rspec"
72
72
 
@@ -2,7 +2,14 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 7.0"
6
- gem "activesupport", "~> 7.0"
5
+ gem "activerecord", "~> 7.0.0"
6
+ gem "activesupport", "~> 7.0.0"
7
+ gem "sqlite3", "~> 1.4"
8
+ gem "logger"
9
+ gem "base64"
10
+ gem "bigdecimal"
11
+ gem "mutex_m"
12
+ gem "drb"
13
+ gem "benchmark"
7
14
 
8
15
  gemspec path: "../"
@@ -2,7 +2,7 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 6.1"
6
- gem "activesupport", "~> 6.1"
5
+ gem "activerecord", "~> 7.1.0"
6
+ gem "activesupport", "~> 7.1.0"
7
7
 
8
8
  gemspec path: "../"
@@ -2,7 +2,7 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 6.0.1"
6
- gem "activesupport", "~> 6.0.1"
5
+ gem "activerecord", "~> 7.2.0"
6
+ gem "activesupport", "~> 7.2.0"
7
7
 
8
8
  gemspec path: "../"
@@ -19,7 +19,7 @@ module ActiveManageable
19
19
  end
20
20
 
21
21
  def authorize_action
22
- "#{@current_method}?".to_sym
22
+ :"#{@current_method}?"
23
23
  end
24
24
  end
25
25
  end
@@ -137,8 +137,8 @@ module ActiveManageable
137
137
  # when the ransack module is included as it has its own definition of the method that calls super
138
138
  # https://www.lucascaton.com.br/2016/11/04/ruby-how-to-get-the-name-of-the-calling-method
139
139
  def calling_method
140
- my_caller = caller_locations(1..1).first.label
141
- caller_locations[1..].find { |location| location.label != my_caller }.label.to_sym
140
+ my_caller = caller_locations(1..1).first.base_label
141
+ caller_locations[1..].find { |location| location.base_label != my_caller }.base_label.to_sym
142
142
  end
143
143
 
144
144
  # Converts a state argument to a ActiveSupport::HashWithIndifferentAccess.
@@ -44,7 +44,7 @@ module ActiveManageable
44
44
  def get_scopes(scopes = nil)
45
45
  scopes ||= defaults[:scopes]
46
46
 
47
- Array.wrap(scopes).map do |scope|
47
+ Array.wrap(scopes).filter_map do |scope|
48
48
  case scope
49
49
  when Symbol, String
50
50
  {scope => []}
@@ -57,7 +57,7 @@ module ActiveManageable
57
57
  p_scopes = instance_exec(&scope)
58
58
  get_scopes(p_scopes) if p_scopes.present?
59
59
  end
60
- end.compact.reduce({}, :merge)
60
+ end.reduce({}, :merge)
61
61
  end
62
62
  end
63
63
  end
@@ -42,7 +42,7 @@ module ActiveManageable
42
42
  when Proc
43
43
  instance_exec(&method)
44
44
  end
45
- condition == :if ? result : !result
45
+ (condition == :if) ? result : !result
46
46
  end
47
47
  end
48
48
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveManageable
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_manageable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Hilton
8
8
  - Chris Branson
9
- autorequire:
10
9
  bindir: exe
11
10
  cert_chain: []
12
- date: 2022-09-27 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activerecord
@@ -17,28 +16,28 @@ dependencies:
17
16
  requirements:
18
17
  - - ">="
19
18
  - !ruby/object:Gem::Version
20
- version: '6.0'
19
+ version: '7.0'
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
24
  - - ">="
26
25
  - !ruby/object:Gem::Version
27
- version: '6.0'
26
+ version: '7.0'
28
27
  - !ruby/object:Gem::Dependency
29
28
  name: activesupport
30
29
  requirement: !ruby/object:Gem::Requirement
31
30
  requirements:
32
31
  - - ">="
33
32
  - !ruby/object:Gem::Version
34
- version: '6.0'
33
+ version: '7.0'
35
34
  type: :runtime
36
35
  prerelease: false
37
36
  version_requirements: !ruby/object:Gem::Requirement
38
37
  requirements:
39
38
  - - ">="
40
39
  - !ruby/object:Gem::Version
41
- version: '6.0'
40
+ version: '7.0'
42
41
  - !ruby/object:Gem::Dependency
43
42
  name: rails-i18n
44
43
  requirement: !ruby/object:Gem::Requirement
@@ -71,16 +70,16 @@ dependencies:
71
70
  name: rake
72
71
  requirement: !ruby/object:Gem::Requirement
73
72
  requirements:
74
- - - "~>"
73
+ - - ">="
75
74
  - !ruby/object:Gem::Version
76
- version: '13.0'
75
+ version: '0'
77
76
  type: :development
78
77
  prerelease: false
79
78
  version_requirements: !ruby/object:Gem::Requirement
80
79
  requirements:
81
- - - "~>"
80
+ - - ">="
82
81
  - !ruby/object:Gem::Version
83
- version: '13.0'
82
+ version: '0'
84
83
  - !ruby/object:Gem::Dependency
85
84
  name: appraisal
86
85
  requirement: !ruby/object:Gem::Requirement
@@ -99,16 +98,16 @@ dependencies:
99
98
  name: sqlite3
100
99
  requirement: !ruby/object:Gem::Requirement
101
100
  requirements:
102
- - - "~>"
101
+ - - ">="
103
102
  - !ruby/object:Gem::Version
104
- version: 1.4.0
103
+ version: '0'
105
104
  type: :development
106
105
  prerelease: false
107
106
  version_requirements: !ruby/object:Gem::Requirement
108
107
  requirements:
109
- - - "~>"
108
+ - - ">="
110
109
  - !ruby/object:Gem::Version
111
- version: 1.4.0
110
+ version: '0'
112
111
  - !ruby/object:Gem::Dependency
113
112
  name: rspec-rails
114
113
  requirement: !ruby/object:Gem::Requirement
@@ -239,16 +238,16 @@ dependencies:
239
238
  name: rubocop
240
239
  requirement: !ruby/object:Gem::Requirement
241
240
  requirements:
242
- - - '='
241
+ - - ">="
243
242
  - !ruby/object:Gem::Version
244
- version: 1.23.0
243
+ version: '0'
245
244
  type: :development
246
245
  prerelease: false
247
246
  version_requirements: !ruby/object:Gem::Requirement
248
247
  requirements:
249
- - - '='
248
+ - - ">="
250
249
  - !ruby/object:Gem::Version
251
- version: 1.23.0
250
+ version: '0'
252
251
  - !ruby/object:Gem::Dependency
253
252
  name: standard
254
253
  requirement: !ruby/object:Gem::Requirement
@@ -263,6 +262,20 @@ dependencies:
263
262
  - - ">="
264
263
  - !ruby/object:Gem::Version
265
264
  version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: standard-rails
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
266
279
  - !ruby/object:Gem::Dependency
267
280
  name: rubocop-rails
268
281
  requirement: !ruby/object:Gem::Requirement
@@ -303,9 +316,6 @@ files:
303
316
  - ".gitignore"
304
317
  - ".rspec"
305
318
  - ".rubocop.yml"
306
- - ".rubocop_rails.yml"
307
- - ".rubocop_rspec.yml"
308
- - ".standard.yml"
309
319
  - Appraisals
310
320
  - CHANGELOG.md
311
321
  - CODE_OF_CONDUCT.md
@@ -318,9 +328,9 @@ files:
318
328
  - bin/console
319
329
  - bin/setup
320
330
  - gemfiles/.bundle/config
321
- - gemfiles/rails_6_0.gemfile
322
- - gemfiles/rails_6_1.gemfile
323
331
  - gemfiles/rails_7_0.gemfile
332
+ - gemfiles/rails_7_1.gemfile
333
+ - gemfiles/rails_7_2.gemfile
324
334
  - lib/active_manageable.rb
325
335
  - lib/active_manageable/authorization/cancancan.rb
326
336
  - lib/active_manageable/authorization/pundit.rb
@@ -351,7 +361,6 @@ metadata:
351
361
  changelog_uri: https://github.com/CircleSD/active_manageable/blob/main/CHANGELOG.md
352
362
  bug_tracker_uri: https://github.com/CircleSD/active_manageable/issues
353
363
  documentation_uri: https://github.com/CircleSD/active_manageable
354
- post_install_message:
355
364
  rdoc_options: []
356
365
  require_paths:
357
366
  - lib
@@ -359,15 +368,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
359
368
  requirements:
360
369
  - - ">="
361
370
  - !ruby/object:Gem::Version
362
- version: 2.7.0
371
+ version: 3.0.0
363
372
  required_rubygems_version: !ruby/object:Gem::Requirement
364
373
  requirements:
365
374
  - - ">="
366
375
  - !ruby/object:Gem::Version
367
376
  version: '0'
368
377
  requirements: []
369
- rubygems_version: 3.2.22
370
- signing_key:
378
+ rubygems_version: 3.6.9
371
379
  specification_version: 4
372
380
  summary: Business logic framework for Ruby on Rails
373
381
  test_files: []
data/.rubocop_rails.yml DELETED
@@ -1,201 +0,0 @@
1
- # Copy of Evil Martians config file
2
- # https://evilmartians.com/chronicles/rubocoping-with-legacy-bring-your-ruby-code-up-to-standard
3
- # https://gist.github.com/palkan/24869b835c45e89116b9727b534e579e
4
- # Based on removed standard configuration:
5
- # https://github.com/testdouble/standard/commit/94d133f477a5694084ac974d5ee01e8a66ce777e#diff-65478e10d5b2ef41c7293a110c0e6b7c
6
-
7
- require:
8
- - rubocop-rails
9
-
10
- Rails/ActionFilter:
11
- Enabled: true
12
- EnforcedStyle: action
13
- Include:
14
- - app/controllers/**/*.rb
15
-
16
- Rails/ActiveRecordAliases:
17
- Enabled: true
18
-
19
- Rails/ActiveSupportAliases:
20
- Enabled: true
21
-
22
- Rails/ApplicationJob:
23
- Enabled: true
24
-
25
- Rails/ApplicationRecord:
26
- Enabled: true
27
-
28
- Rails/AssertNot:
29
- Enabled: true
30
- Include:
31
- - '**/test/**/*'
32
-
33
- Rails/Blank:
34
- Enabled: true
35
- # Convert usages of `nil? || empty?` to `blank?`
36
- NilOrEmpty: true
37
- # Convert usages of `!present?` to `blank?`
38
- NotPresent: true
39
- # Convert usages of `unless present?` to `if blank?`
40
- UnlessPresent: true
41
-
42
- Rails/BulkChangeTable:
43
- Enabled: true
44
- Database: null
45
- Include:
46
- - db/migrate/*.rb
47
-
48
- Rails/CreateTableWithTimestamps:
49
- Enabled: true
50
- Include:
51
- - db/migrate/*.rb
52
-
53
- Rails/Date:
54
- Enabled: true
55
- EnforcedStyle: flexible
56
-
57
- Rails/Delegate:
58
- Enabled: true
59
- EnforceForPrefixed: true
60
-
61
- Rails/DelegateAllowBlank:
62
- Enabled: true
63
-
64
- Rails/DynamicFindBy:
65
- Enabled: true
66
- Whitelist:
67
- - find_by_sql
68
-
69
- Rails/EnumUniqueness:
70
- Enabled: true
71
- Include:
72
- - app/models/**/*.rb
73
-
74
- Rails/EnvironmentComparison:
75
- Enabled: true
76
-
77
- Rails/Exit:
78
- Enabled: true
79
- Include:
80
- - app/**/*.rb
81
- - config/**/*.rb
82
- - lib/**/*.rb
83
- Exclude:
84
- - lib/**/*.rake
85
-
86
- Rails/FilePath:
87
- Enabled: true
88
- EnforcedStyle: arguments
89
-
90
- Rails/FindBy:
91
- Enabled: true
92
- Include:
93
- - app/models/**/*.rb
94
-
95
- Rails/FindEach:
96
- Enabled: true
97
- Include:
98
- - app/models/**/*.rb
99
-
100
- Rails/HasAndBelongsToMany:
101
- Enabled: true
102
- Include:
103
- - app/models/**/*.rb
104
-
105
- Rails/HttpPositionalArguments:
106
- Enabled: true
107
- Include:
108
- - 'spec/**/*'
109
- - 'test/**/*'
110
-
111
- Rails/HttpStatus:
112
- Enabled: true
113
- EnforcedStyle: symbolic
114
-
115
- Rails/InverseOf:
116
- Enabled: true
117
- Include:
118
- - app/models/**/*.rb
119
-
120
- Rails/LexicallyScopedActionFilter:
121
- Enabled: true
122
- Safe: false
123
- Include:
124
- - app/controllers/**/*.rb
125
-
126
- Rails/NotNullColumn:
127
- Enabled: true
128
- Include:
129
- - db/migrate/*.rb
130
-
131
- Rails/Output:
132
- Enabled: true
133
- Include:
134
- - app/**/*.rb
135
- - config/**/*.rb
136
- - db/**/*.rb
137
- - lib/**/*.rb
138
-
139
- Rails/OutputSafety:
140
- Enabled: true
141
-
142
- Rails/PluralizationGrammar:
143
- Enabled: true
144
-
145
- Rails/Presence:
146
- Enabled: true
147
-
148
- Rails/Present:
149
- Enabled: true
150
- NotNilAndNotEmpty: true
151
- NotBlank: true
152
- UnlessBlank: true
153
-
154
- Rails/ReadWriteAttribute:
155
- Enabled: true
156
- Include:
157
- - app/models/**/*.rb
158
-
159
- Rails/RedundantReceiverInWithOptions:
160
- Enabled: true
161
-
162
- Rails/RefuteMethods:
163
- Enabled: true
164
- Include:
165
- - '**/test/**/*'
166
-
167
- Rails/RelativeDateConstant:
168
- Enabled: true
169
- AutoCorrect: false
170
-
171
- Rails/RequestReferer:
172
- Enabled: true
173
- EnforcedStyle: referer
174
-
175
- Rails/ReversibleMigration:
176
- Enabled: true
177
- Include:
178
- - db/migrate/*.rb
179
-
180
- Rails/SafeNavigation:
181
- Enabled: true
182
- ConvertTry: false
183
-
184
- Rails/ScopeArgs:
185
- Enabled: true
186
- Include:
187
- - app/models/**/*.rb
188
-
189
- Rails/TimeZone:
190
- Enabled: true
191
- EnforcedStyle: flexible
192
-
193
- Rails/UniqBeforePluck:
194
- Enabled: true
195
- EnforcedStyle: conservative
196
- AutoCorrect: false
197
-
198
- Rails/Validation:
199
- Enabled: true
200
- Include:
201
- - app/models/**/*.rb
data/.rubocop_rspec.yml DELETED
@@ -1,68 +0,0 @@
1
- # Copy of Evil Martians config file
2
- # https://evilmartians.com/chronicles/rubocoping-with-legacy-bring-your-ruby-code-up-to-standard
3
- # https://gist.github.com/palkan/623c0816b05ed246bfe0cb406050990a
4
-
5
- require:
6
- - rubocop-rspec
7
-
8
- RSpec/Focus:
9
- Enabled: true
10
-
11
- RSpec/EmptyExampleGroup:
12
- Enabled: true
13
-
14
- RSpec/EmptyLineAfterExampleGroup:
15
- Enabled: true
16
-
17
- RSpec/EmptyLineAfterFinalLet:
18
- Enabled: true
19
-
20
- RSpec/EmptyLineAfterHook:
21
- Enabled: true
22
-
23
- RSpec/EmptyLineAfterSubject:
24
- Enabled: true
25
-
26
- RSpec/HookArgument:
27
- Enabled: true
28
-
29
- RSpec/HooksBeforeExamples:
30
- Enabled: true
31
-
32
- RSpec/ImplicitExpect:
33
- Enabled: true
34
-
35
- RSpec/IteratedExpectation:
36
- Enabled: true
37
-
38
- RSpec/LetBeforeExamples:
39
- Enabled: true
40
-
41
- RSpec/MissingExampleGroupArgument:
42
- Enabled: true
43
-
44
- RSpec/ReceiveCounts:
45
- Enabled: true
46
-
47
- RSpec/Capybara:
48
- Enabled: true
49
-
50
- RSpec/FactoryBot:
51
- Enabled: true
52
-
53
- RSpec/NestedGroups:
54
- Max: 5
55
-
56
- RSpec/ExampleLength:
57
- Max: 20
58
-
59
- RSpec/MultipleExpectations:
60
- Max: 10
61
-
62
- # disabled as using expect_any_instance_of(ActiveRecord::Relation)
63
- # to check for calls to :includes and :preload etc
64
- RSpec/AnyInstance:
65
- Enabled: false
66
-
67
- RSpec/DescribedClass:
68
- Enabled: false
data/.standard.yml DELETED
@@ -1,5 +0,0 @@
1
- # Standard ruby style guide, linter, and formatter https://github.com/testdouble/standard
2
- # to check the style of files run:-
3
- # $ bundle exec standardrb
4
- ignore:
5
- - 'active_manageable.gemspec'