swifter_enum 0.9.6 → 0.9.7

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: bc0cc85f030b595af2b26f01beabc39a89ca0b93225e15f89dbe4bb42a584769
4
- data.tar.gz: 4b59b30641a70706fd33cf194ae9d3fb74dc9bb79431dcaf125be229df73853e
3
+ metadata.gz: a44ef43342b61052d8fafbf4d708c6f961f357b79fcae2d0a823e2798e366f09
4
+ data.tar.gz: 9e18b6bd910d99df69be802da1a59b98830acbbd3e36a33cbf0fc82c134de7a5
5
5
  SHA512:
6
- metadata.gz: e76f0fdc3fc9fdce9f4765ec015c1081f24b7a39ae406969156e40912f5265174050aca81167d6d5631540e26531f604f7b80ad0cd7ae4c3efb63413f0f2cf1c
7
- data.tar.gz: 95e05c2e64a25feb0de2c20b62cca2faa522bd55b173b8c592cb56ed30b847dc645391dae8da7dfb69dfe3d555feade28f3968004dc2b84b6337f204abb3f9dd
6
+ metadata.gz: b475b348d21d7de7b04e4f24e3ab8ba57ac4fa6f9d95c2996fe3d3506666a93140e3403ebbb6ea9635dee0496b15f64cb41d43ee50e5b603b07d7f11cf5343f9
7
+ data.tar.gz: 2992a30aefa8d496ede7cdc4f788004e826b19a40081e11f7e18af64073596fce68a719187955d464b929c190f1b2c4c094c569ecdfab2fdaa0dc204cc4b6557
data/Appraisals ADDED
@@ -0,0 +1,14 @@
1
+
2
+ appraise "rails-7.1" do
3
+ gem "activerecord", "~> 7.1.0"
4
+ gem "activesupport", "~> 7.1.0"
5
+ gem "activemodel", "~> 7.1.0"
6
+ gem "sqlite3", "~> 1.4" # Explicitly use 1.4.x for Rails 7.0
7
+ end
8
+
9
+ appraise "rails-8.0" do
10
+ gem "activerecord", "~> 8.0.0"
11
+ gem "activesupport", "~> 8.0.0"
12
+ gem "activemodel", "~> 8.0.0"
13
+ gem "sqlite3", ">= 2.1" # Rails 8 requires sqlite3 2.1+
14
+ end
data/CHANGELOG.md CHANGED
@@ -23,4 +23,8 @@
23
23
 
24
24
  ## [0.9.5]
25
25
 
26
- - Fix translation method when value is nil (returns nil)
26
+ - Fix translation method when value is nil (returns nil)
27
+
28
+ ## [0.9.7]
29
+
30
+ - Support Rails 8
data/README.md CHANGED
@@ -308,3 +308,9 @@ See the tests folder for more examples of usage.
308
308
  ## Contributing
309
309
 
310
310
  Bug reports and pull requests are welcome
311
+
312
+ ## Testing
313
+
314
+ Test multiple rails versions with
315
+
316
+ `bundle exec appraisal rake test`
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake", "~> 13.0"
6
+ gem "standard", "~> 1.3"
7
+ gem "activerecord", "~> 7.1.0"
8
+ gem "activesupport", "~> 7.1.0"
9
+ gem "activemodel", "~> 7.1.0"
10
+ gem "sqlite3", "~> 1.4"
11
+
12
+ gemspec path: "../"
@@ -0,0 +1,126 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ swifter_enum (0.9.6)
5
+ activemodel (>= 7.0, < 9.0)
6
+ activerecord (>= 7.0, < 9.0)
7
+ activesupport (>= 7.0, < 9.0)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ activemodel (7.1.3.2)
13
+ activesupport (= 7.1.3.2)
14
+ activerecord (7.1.3.2)
15
+ activemodel (= 7.1.3.2)
16
+ activesupport (= 7.1.3.2)
17
+ timeout (>= 0.4.0)
18
+ activesupport (7.1.3.2)
19
+ base64
20
+ bigdecimal
21
+ concurrent-ruby (~> 1.0, >= 1.0.2)
22
+ connection_pool (>= 2.2.5)
23
+ drb
24
+ i18n (>= 1.6, < 2)
25
+ minitest (>= 5.1)
26
+ mutex_m
27
+ tzinfo (~> 2.0)
28
+ appraisal (2.5.0)
29
+ bundler
30
+ rake
31
+ thor (>= 0.14.0)
32
+ ast (2.4.3)
33
+ base64 (0.2.0)
34
+ bigdecimal (3.1.9)
35
+ concurrent-ruby (1.3.5)
36
+ connection_pool (2.5.0)
37
+ date (3.4.1)
38
+ debug (1.10.0)
39
+ irb (~> 1.10)
40
+ reline (>= 0.3.8)
41
+ drb (2.2.1)
42
+ i18n (1.14.7)
43
+ concurrent-ruby (~> 1.0)
44
+ io-console (0.8.0)
45
+ irb (1.15.2)
46
+ pp (>= 0.6.0)
47
+ rdoc (>= 4.0.0)
48
+ reline (>= 0.4.2)
49
+ json (2.10.2)
50
+ language_server-protocol (3.17.0.4)
51
+ lint_roller (1.1.0)
52
+ minitest (5.25.5)
53
+ mutex_m (0.3.0)
54
+ parallel (1.26.3)
55
+ parser (3.3.7.2)
56
+ ast (~> 2.4.1)
57
+ racc
58
+ pp (0.6.2)
59
+ prettyprint
60
+ prettyprint (0.2.0)
61
+ psych (5.2.3)
62
+ date
63
+ stringio
64
+ racc (1.8.1)
65
+ rainbow (3.1.1)
66
+ rake (13.2.1)
67
+ rdoc (6.13.1)
68
+ psych (>= 4.0.0)
69
+ regexp_parser (2.10.0)
70
+ reline (0.6.1)
71
+ io-console (~> 0.5)
72
+ rexml (3.4.1)
73
+ rubocop (1.65.1)
74
+ json (~> 2.3)
75
+ language_server-protocol (>= 3.17.0)
76
+ parallel (~> 1.10)
77
+ parser (>= 3.3.0.2)
78
+ rainbow (>= 2.2.2, < 4.0)
79
+ regexp_parser (>= 2.4, < 3.0)
80
+ rexml (>= 3.2.5, < 4.0)
81
+ rubocop-ast (>= 1.31.1, < 2.0)
82
+ ruby-progressbar (~> 1.7)
83
+ unicode-display_width (>= 2.4.0, < 3.0)
84
+ rubocop-ast (1.38.0)
85
+ parser (>= 3.3.1.0)
86
+ rubocop-performance (1.21.1)
87
+ rubocop (>= 1.48.1, < 2.0)
88
+ rubocop-ast (>= 1.31.1, < 2.0)
89
+ ruby-progressbar (1.13.0)
90
+ sqlite3 (1.7.2-arm64-darwin)
91
+ standard (1.40.0)
92
+ language_server-protocol (~> 3.17.0.2)
93
+ lint_roller (~> 1.0)
94
+ rubocop (~> 1.65.0)
95
+ standard-custom (~> 1.0.0)
96
+ standard-performance (~> 1.4)
97
+ standard-custom (1.0.2)
98
+ lint_roller (~> 1.0)
99
+ rubocop (~> 1.50)
100
+ standard-performance (1.4.0)
101
+ lint_roller (~> 1.1)
102
+ rubocop-performance (~> 1.21.0)
103
+ stringio (3.1.6)
104
+ thor (1.3.2)
105
+ timeout (0.4.3)
106
+ tzinfo (2.0.6)
107
+ concurrent-ruby (~> 1.0)
108
+ unicode-display_width (2.6.0)
109
+
110
+ PLATFORMS
111
+ arm64-darwin
112
+
113
+ DEPENDENCIES
114
+ activemodel (~> 7.1.0)
115
+ activerecord (~> 7.1.0)
116
+ activesupport (~> 7.1.0)
117
+ appraisal (~> 2.4)
118
+ debug
119
+ minitest (~> 5.22)
120
+ rake (~> 13.0)
121
+ sqlite3 (~> 1.4)
122
+ standard (~> 1.3)
123
+ swifter_enum!
124
+
125
+ BUNDLED WITH
126
+ 2.5.6
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake", "~> 13.0"
6
+ gem "standard", "~> 1.3"
7
+ gem "activerecord", "~> 8.0.0"
8
+ gem "activesupport", "~> 8.0.0"
9
+ gem "activemodel", "~> 8.0.0"
10
+ gem "sqlite3", ">= 2.1"
11
+
12
+ gemspec path: "../"
@@ -0,0 +1,132 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ swifter_enum (0.9.6)
5
+ activemodel (>= 7.0, < 9.0)
6
+ activerecord (>= 7.0, < 9.0)
7
+ activesupport (>= 7.0, < 9.0)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ activemodel (8.0.1)
13
+ activesupport (= 8.0.1)
14
+ activerecord (8.0.1)
15
+ activemodel (= 8.0.1)
16
+ activesupport (= 8.0.1)
17
+ timeout (>= 0.4.0)
18
+ activesupport (8.0.1)
19
+ base64
20
+ benchmark (>= 0.3)
21
+ bigdecimal
22
+ concurrent-ruby (~> 1.0, >= 1.3.1)
23
+ connection_pool (>= 2.2.5)
24
+ drb
25
+ i18n (>= 1.6, < 2)
26
+ logger (>= 1.4.2)
27
+ minitest (>= 5.1)
28
+ securerandom (>= 0.3)
29
+ tzinfo (~> 2.0, >= 2.0.5)
30
+ uri (>= 0.13.1)
31
+ appraisal (2.5.0)
32
+ bundler
33
+ rake
34
+ thor (>= 0.14.0)
35
+ ast (2.4.3)
36
+ base64 (0.2.0)
37
+ benchmark (0.4.0)
38
+ bigdecimal (3.1.9)
39
+ concurrent-ruby (1.3.5)
40
+ connection_pool (2.5.0)
41
+ date (3.4.1)
42
+ debug (1.10.0)
43
+ irb (~> 1.10)
44
+ reline (>= 0.3.8)
45
+ drb (2.2.1)
46
+ i18n (1.14.7)
47
+ concurrent-ruby (~> 1.0)
48
+ io-console (0.8.0)
49
+ irb (1.15.2)
50
+ pp (>= 0.6.0)
51
+ rdoc (>= 4.0.0)
52
+ reline (>= 0.4.2)
53
+ json (2.10.2)
54
+ language_server-protocol (3.17.0.4)
55
+ lint_roller (1.1.0)
56
+ logger (1.7.0)
57
+ minitest (5.25.5)
58
+ parallel (1.26.3)
59
+ parser (3.3.7.2)
60
+ ast (~> 2.4.1)
61
+ racc
62
+ pp (0.6.2)
63
+ prettyprint
64
+ prettyprint (0.2.0)
65
+ psych (5.2.3)
66
+ date
67
+ stringio
68
+ racc (1.8.1)
69
+ rainbow (3.1.1)
70
+ rake (13.2.1)
71
+ rdoc (6.13.1)
72
+ psych (>= 4.0.0)
73
+ regexp_parser (2.10.0)
74
+ reline (0.6.1)
75
+ io-console (~> 0.5)
76
+ rexml (3.4.1)
77
+ rubocop (1.65.1)
78
+ json (~> 2.3)
79
+ language_server-protocol (>= 3.17.0)
80
+ parallel (~> 1.10)
81
+ parser (>= 3.3.0.2)
82
+ rainbow (>= 2.2.2, < 4.0)
83
+ regexp_parser (>= 2.4, < 3.0)
84
+ rexml (>= 3.2.5, < 4.0)
85
+ rubocop-ast (>= 1.31.1, < 2.0)
86
+ ruby-progressbar (~> 1.7)
87
+ unicode-display_width (>= 2.4.0, < 3.0)
88
+ rubocop-ast (1.38.0)
89
+ parser (>= 3.3.1.0)
90
+ rubocop-performance (1.21.1)
91
+ rubocop (>= 1.48.1, < 2.0)
92
+ rubocop-ast (>= 1.31.1, < 2.0)
93
+ ruby-progressbar (1.13.0)
94
+ securerandom (0.4.1)
95
+ sqlite3 (2.6.0-arm64-darwin)
96
+ standard (1.40.0)
97
+ language_server-protocol (~> 3.17.0.2)
98
+ lint_roller (~> 1.0)
99
+ rubocop (~> 1.65.0)
100
+ standard-custom (~> 1.0.0)
101
+ standard-performance (~> 1.4)
102
+ standard-custom (1.0.2)
103
+ lint_roller (~> 1.0)
104
+ rubocop (~> 1.50)
105
+ standard-performance (1.4.0)
106
+ lint_roller (~> 1.1)
107
+ rubocop-performance (~> 1.21.0)
108
+ stringio (3.1.6)
109
+ thor (1.3.2)
110
+ timeout (0.4.3)
111
+ tzinfo (2.0.6)
112
+ concurrent-ruby (~> 1.0)
113
+ unicode-display_width (2.6.0)
114
+ uri (1.0.2)
115
+
116
+ PLATFORMS
117
+ arm64-darwin
118
+
119
+ DEPENDENCIES
120
+ activemodel (~> 8.0.0)
121
+ activerecord (~> 8.0.0)
122
+ activesupport (~> 8.0.0)
123
+ appraisal (~> 2.4)
124
+ debug
125
+ minitest (~> 5.22)
126
+ rake (~> 13.0)
127
+ sqlite3 (>= 2.1)
128
+ standard (~> 1.3)
129
+ swifter_enum!
130
+
131
+ BUNDLED WITH
132
+ 2.5.6
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SwifterEnum
4
- VERSION = "0.9.6"
4
+ VERSION = "0.9.7"
5
5
  end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/swifter_enum/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "swifter_enum"
7
+ spec.version = SwifterEnum::VERSION
8
+ spec.authors = ["Rob Jonson"]
9
+ spec.email = ["rob@hobbyistsoftware.com"]
10
+
11
+ spec.summary = "Active Record enum that uses a class, so you can add methods."
12
+ spec.description = "Simple enum for active record that takes inspiration from Swift's enums to allow you to encapsulate enum logic within an enum class. This is easy to drop-in as a replacement for regular rails enums, with minimal changes required. Once you switch, then you can easily extend your enums with methods."
13
+ spec.homepage = "https://github.com/ConfusedVorlon/SwifterEnum"
14
+ spec.license = "MIT"
15
+
16
+ # I'm using 3.2 and above. If you're willing/able to test on lower rubies, then please let me know and feel free to change this.
17
+ spec.required_ruby_version = ">= 3.2.0"
18
+
19
+ spec.metadata["homepage_uri"] = spec.homepage
20
+ spec.metadata["source_code_uri"] = "https://github.com/ConfusedVorlon/SwifterEnum"
21
+ spec.metadata["changelog_uri"] = "https://github.com/ConfusedVorlon/SwifterEnum"
22
+
23
+ # Specify which files should be added to the gem when it is released.
24
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
+ spec.files = Dir.chdir(__dir__) do
26
+ `git ls-files -z`.split("\x0").reject do |f|
27
+ (File.expand_path(f) == __FILE__) ||
28
+ f.start_with?(*%w[bin/ test/ spec/ features/ .git appveyor Gemfile])
29
+ end
30
+ end
31
+ spec.bindir = "exe"
32
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
33
+ spec.require_paths = ["lib"]
34
+
35
+ spec.add_dependency "activerecord", ">= 7.0", "< 9.0"
36
+ spec.add_dependency "activesupport", ">= 7.0", "< 9.0"
37
+ spec.add_dependency "activemodel", ">= 7.0", "< 9.0"
38
+
39
+ # Specify development dependencies
40
+ spec.add_development_dependency "sqlite3", ">= 1.4"
41
+ spec.add_development_dependency "minitest", "~> 5.22"
42
+ spec.add_development_dependency "debug"
43
+ spec.add_development_dependency "appraisal", "~> 2.4"
44
+
45
+ # For more information and examples about making a new gem, check out our
46
+ # guide at: https://bundler.io/guides/creating_gem.html
47
+ end
metadata CHANGED
@@ -1,69 +1,86 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swifter_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.6
4
+ version: 0.9.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Jonson
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-09-04 00:00:00.000000000 Z
10
+ date: 2025-04-12 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activerecord
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: '7.0'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '9.0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
- - - "~>"
26
+ - - ">="
25
27
  - !ruby/object:Gem::Version
26
28
  version: '7.0'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '9.0'
27
32
  - !ruby/object:Gem::Dependency
28
33
  name: activesupport
29
34
  requirement: !ruby/object:Gem::Requirement
30
35
  requirements:
31
- - - "~>"
36
+ - - ">="
32
37
  - !ruby/object:Gem::Version
33
38
  version: '7.0'
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '9.0'
34
42
  type: :runtime
35
43
  prerelease: false
36
44
  version_requirements: !ruby/object:Gem::Requirement
37
45
  requirements:
38
- - - "~>"
46
+ - - ">="
39
47
  - !ruby/object:Gem::Version
40
48
  version: '7.0'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '9.0'
41
52
  - !ruby/object:Gem::Dependency
42
53
  name: activemodel
43
54
  requirement: !ruby/object:Gem::Requirement
44
55
  requirements:
45
- - - "~>"
56
+ - - ">="
46
57
  - !ruby/object:Gem::Version
47
58
  version: '7.0'
59
+ - - "<"
60
+ - !ruby/object:Gem::Version
61
+ version: '9.0'
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - "~>"
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '7.0'
69
+ - - "<"
70
+ - !ruby/object:Gem::Version
71
+ version: '9.0'
55
72
  - !ruby/object:Gem::Dependency
56
73
  name: sqlite3
57
74
  requirement: !ruby/object:Gem::Requirement
58
75
  requirements:
59
- - - "~>"
76
+ - - ">="
60
77
  - !ruby/object:Gem::Version
61
78
  version: '1.4'
62
79
  type: :development
63
80
  prerelease: false
64
81
  version_requirements: !ruby/object:Gem::Requirement
65
82
  requirements:
66
- - - "~>"
83
+ - - ">="
67
84
  - !ruby/object:Gem::Version
68
85
  version: '1.4'
69
86
  - !ruby/object:Gem::Dependency
@@ -94,6 +111,20 @@ dependencies:
94
111
  - - ">="
95
112
  - !ruby/object:Gem::Version
96
113
  version: '0'
114
+ - !ruby/object:Gem::Dependency
115
+ name: appraisal
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - "~>"
119
+ - !ruby/object:Gem::Version
120
+ version: '2.4'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '2.4'
97
128
  description: Simple enum for active record that takes inspiration from Swift's enums
98
129
  to allow you to encapsulate enum logic within an enum class. This is easy to drop-in
99
130
  as a replacement for regular rails enums, with minimal changes required. Once you
@@ -105,10 +136,15 @@ extensions: []
105
136
  extra_rdoc_files: []
106
137
  files:
107
138
  - ".standard.yml"
139
+ - Appraisals
108
140
  - CHANGELOG.md
109
141
  - LICENSE.txt
110
142
  - README.md
111
143
  - Rakefile
144
+ - gemfiles/rails_7.1.gemfile
145
+ - gemfiles/rails_7.1.gemfile.lock
146
+ - gemfiles/rails_8.0.gemfile
147
+ - gemfiles/rails_8.0.gemfile.lock
112
148
  - lib/swifter_enum.rb
113
149
  - lib/swifter_enum/base.rb
114
150
  - lib/swifter_enum/generators/enum/enum_generator.rb
@@ -118,6 +154,7 @@ files:
118
154
  - lib/swifter_enum/swifter_enum_validator.rb
119
155
  - lib/swifter_enum/version.rb
120
156
  - sig/swifter_enum.rbs
157
+ - swifter_enum.gemspec
121
158
  homepage: https://github.com/ConfusedVorlon/SwifterEnum
122
159
  licenses:
123
160
  - MIT
@@ -125,7 +162,6 @@ metadata:
125
162
  homepage_uri: https://github.com/ConfusedVorlon/SwifterEnum
126
163
  source_code_uri: https://github.com/ConfusedVorlon/SwifterEnum
127
164
  changelog_uri: https://github.com/ConfusedVorlon/SwifterEnum
128
- post_install_message:
129
165
  rdoc_options: []
130
166
  require_paths:
131
167
  - lib
@@ -140,8 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
176
  - !ruby/object:Gem::Version
141
177
  version: '0'
142
178
  requirements: []
143
- rubygems_version: 3.5.6
144
- signing_key:
179
+ rubygems_version: 3.6.4
145
180
  specification_version: 4
146
181
  summary: Active Record enum that uses a class, so you can add methods.
147
182
  test_files: []