activerecord-mysql-enum 2.0.0 → 2.2.0

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: 459885e4a5040ecec66b8e13a82810c5b58a516e7b6d862540861b983ec16671
4
- data.tar.gz: 22dc3afd5d45bf3a5b7f6ca49105742ac805b9385e470983eaf38be9d22a58fb
3
+ metadata.gz: ffce6e3ac257695994f6047a2fc92014732807c6df5f73e7a50a8c9e43b4dead
4
+ data.tar.gz: 3cf2a902e47a9d4077c271802aaa1dd2f9dd382be35ff150537f4432312d4453
5
5
  SHA512:
6
- metadata.gz: '0219e9b653b15e4354b8e515ee815a7dd6daa99c7ccc88470017e3802096e739008ce985c67bfee9aa543f918a5a58a2a5d449c3b6f2dc00601c2412143f7df6'
7
- data.tar.gz: 2215b573018c5d3971294b2d9a672434497437c5c9f846e1ee945491ab2629f03152da44bf0a55dfa91ea17bff3e44ed964655b39aab3d6eb5e5ca748c01f1c0
6
+ metadata.gz: 835337ba0e11f9164608edaca8de311e533eba27ede45944b7a4c323377e1ac96cdb8e3c45f4e9fc227c09568fb6501150e8c5e75bb2042eed33dd7d13f4e873
7
+ data.tar.gz: 9d451b8452ec9981942b09d66e568ee0312e1fca635ab454b342c495f15d8c6e3bbfa7f8fbb13d06a99b50b7d05bb4468ec5a1b9e16515e17e140dafaa3e0df3
@@ -0,0 +1,13 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ time: "22:00"
8
+ timezone: PST8PDT
9
+ open-pull-requests-limit: 99
10
+ versioning-strategy: lockfile-only
11
+ commit-message:
12
+ prefix: No-Jira
13
+ include: scope
@@ -19,10 +19,26 @@ jobs:
19
19
  strategy:
20
20
  fail-fast: false
21
21
  matrix:
22
- ruby: [2.5.8, 2.6.5, 2.7.1]
22
+ ruby: [2.5.8, 2.6.5, 2.7, '3.0', 3.1]
23
23
  gemfile:
24
+ - Gemfile
24
25
  - gemfiles/rails_5.gemfile
25
26
  - gemfiles/rails_6.gemfile
27
+ - gemfiles/rails_6_1.gemfile
28
+ - gemfiles/rails_7_0.gemfile
29
+ exclude:
30
+ - ruby: '3.0'
31
+ gemfile: Gemfile
32
+ - ruby: 3.1
33
+ gemfile: Gemfile
34
+ - ruby: '3.0'
35
+ gemfile: gemfiles/rails_5.gemfile
36
+ - ruby: 3.1
37
+ gemfile: gemfiles/rails_5.gemfile
38
+ - ruby: 2.5.8
39
+ gemfile: gemfiles/rails_7_0.gemfile
40
+ - ruby: 2.6.5
41
+ gemfile: gemfiles/rails_7_0.gemfile
26
42
  env:
27
43
  BUNDLE_GEMFILE: ${{ matrix.gemfile }}
28
44
  DATABASE_MYSQL_HOST: 127.0.0.1
@@ -33,7 +49,7 @@ jobs:
33
49
  - uses: ruby/setup-ruby@v1
34
50
  with:
35
51
  ruby-version: ${{ matrix.ruby }}
36
- bundler: 1.17.3
52
+ bundler: 2.2.29
37
53
  bundler-cache: true
38
54
  - run: RAILS_ENV=test bundle exec rake db:create
39
55
  - run: bundle exec rspec
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.5
data/Appraisals CHANGED
@@ -8,4 +8,17 @@ end
8
8
  appraise 'rails-6' do
9
9
  gem 'rails', '~> 6.0.0'
10
10
  gem 'mysql2', '~> 0.5'
11
+ gem "net-smtp", require: false
12
+ end
13
+
14
+ appraise 'rails-6-1' do
15
+ gem 'rails', '~> 6.1.0'
16
+ gem 'mysql2', '~> 0.5'
17
+ gem "net-smtp", require: false
18
+ end
19
+
20
+ appraise 'rails-7-0' do
21
+ gem 'rails', '~> 7.0.0'
22
+ gem 'mysql2', '~> 0.5'
23
+ gem "net-smtp", require: false
11
24
  end
data/CHANGELOG.md CHANGED
@@ -4,6 +4,17 @@ Inspired by [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
5
  Note: this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.2.0] - 2022-07-18
8
+ ### Added
9
+ - Added support for Rails 6.1 and 7.0
10
+
11
+ ## [2.1.0] - 2022-04-11
12
+ ### Added
13
+ - Added ruby 3 support
14
+
15
+ ### Removed
16
+ - Dropped support for Rails less than 5
17
+
7
18
  ## [2.0.0] - 2021-08-10
8
19
  ### Removed
9
20
  - Dropped support for Rails less than 5
@@ -49,6 +60,8 @@ Note: this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0
49
60
  ### Changed
50
61
  - Renamed the gem from `enum_column3` to `activerecord-mysql-enum`
51
62
 
63
+ [2.2.0]: https://github.com/Invoca/activerecord-mysql-enum/compare/v2.1.0...v2.2.0
64
+ [2.1.0]: https://github.com/Invoca/activerecord-mysql-enum/compare/v2.0.0...v2.1.0
52
65
  [2.0.0]: https://github.com/Invoca/activerecord-mysql-enum/compare/v1.0.0...v2.0.0
53
66
  [1.0.0]: https://github.com/Invoca/activerecord-mysql-enum/compare/v0.1.4...v1.0.0
54
67
  [0.1.4]: https://github.com/Invoca/activerecord-mysql-enum/compare/v0.1.3...v0.1.4
data/Gemfile CHANGED
@@ -11,5 +11,5 @@ gem 'pry'
11
11
  gem 'pry-byebug'
12
12
  gem 'rake', '~> 13.0'
13
13
  gem 'rails', '~> 5.2'
14
- gem 'rspec'
15
- gem 'rspec-rails', '~> 3.0'
14
+ gem 'rspec', '~> 3.11'
15
+ gem 'rspec-rails', '~> 5.0'
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- activerecord-mysql-enum (2.0.0)
5
- activerecord (>= 5.2, < 7)
4
+ activerecord-mysql-enum (2.2.0)
5
+ activerecord (>= 5.2, < 7.1)
6
6
  mysql2 (>= 0.4.5, < 0.6)
7
7
 
8
8
  GEM
@@ -65,7 +65,7 @@ GEM
65
65
  thor (>= 0.19.4, < 2.0)
66
66
  tins (~> 1.6)
67
67
  crass (1.0.6)
68
- diff-lcs (1.4.4)
68
+ diff-lcs (1.5.0)
69
69
  docile (1.4.0)
70
70
  erubi (1.10.0)
71
71
  globalid (0.5.2)
@@ -83,7 +83,7 @@ GEM
83
83
  mini_mime (1.1.0)
84
84
  mini_portile2 (2.6.1)
85
85
  minitest (5.14.4)
86
- mysql2 (0.5.3)
86
+ mysql2 (0.5.4)
87
87
  nio4r (2.5.8)
88
88
  nokogiri (1.12.2)
89
89
  mini_portile2 (~> 2.6.1)
@@ -123,27 +123,27 @@ GEM
123
123
  rake (>= 0.8.7)
124
124
  thor (>= 0.19.0, < 2.0)
125
125
  rake (13.0.6)
126
- rspec (3.9.0)
127
- rspec-core (~> 3.9.0)
128
- rspec-expectations (~> 3.9.0)
129
- rspec-mocks (~> 3.9.0)
130
- rspec-core (3.9.3)
131
- rspec-support (~> 3.9.3)
132
- rspec-expectations (3.9.4)
126
+ rspec (3.11.0)
127
+ rspec-core (~> 3.11.0)
128
+ rspec-expectations (~> 3.11.0)
129
+ rspec-mocks (~> 3.11.0)
130
+ rspec-core (3.11.0)
131
+ rspec-support (~> 3.11.0)
132
+ rspec-expectations (3.11.0)
133
133
  diff-lcs (>= 1.2.0, < 2.0)
134
- rspec-support (~> 3.9.0)
135
- rspec-mocks (3.9.1)
134
+ rspec-support (~> 3.11.0)
135
+ rspec-mocks (3.11.0)
136
136
  diff-lcs (>= 1.2.0, < 2.0)
137
- rspec-support (~> 3.9.0)
138
- rspec-rails (3.9.1)
139
- actionpack (>= 3.0)
140
- activesupport (>= 3.0)
141
- railties (>= 3.0)
142
- rspec-core (~> 3.9.0)
143
- rspec-expectations (~> 3.9.0)
144
- rspec-mocks (~> 3.9.0)
145
- rspec-support (~> 3.9.0)
146
- rspec-support (3.9.4)
137
+ rspec-support (~> 3.11.0)
138
+ rspec-rails (5.1.1)
139
+ actionpack (>= 5.2)
140
+ activesupport (>= 5.2)
141
+ railties (>= 5.2)
142
+ rspec-core (~> 3.10)
143
+ rspec-expectations (~> 3.10)
144
+ rspec-mocks (~> 3.10)
145
+ rspec-support (~> 3.10)
146
+ rspec-support (3.11.0)
147
147
  simplecov (0.16.1)
148
148
  docile (~> 1.1)
149
149
  json (>= 1.8, < 3)
@@ -180,8 +180,8 @@ DEPENDENCIES
180
180
  pry-byebug
181
181
  rails (~> 5.2)
182
182
  rake (~> 13.0)
183
- rspec
184
- rspec-rails (~> 3.0)
183
+ rspec (~> 3.11)
184
+ rspec-rails (~> 5.0)
185
185
 
186
186
  BUNDLED WITH
187
- 1.17.3
187
+ 2.3.11
data/README.md CHANGED
@@ -7,7 +7,7 @@ which was itself a fork of a fork of Nick Pohodnya's original gem for
7
7
  Rails 3, [enum_column3](https://github.com/electronick/enum_column).
8
8
 
9
9
  ## Support
10
- Currently this is tested with Rails version 5.2, and 6.0.
10
+ Currently this is tested with Rails version 5.2, 6.0, 6.1, and 7.0.
11
11
 
12
12
  **Supported adapters:**
13
13
  - mysql2
data/enum_column.gemspec CHANGED
@@ -28,6 +28,6 @@ Gem::Specification.new do |spec|
28
28
  end
29
29
  spec.require_paths = ["lib"]
30
30
 
31
- spec.add_dependency 'activerecord', '>= 5.2', '< 7'
31
+ spec.add_dependency 'activerecord', '>= 5.2', '< 7.1'
32
32
  spec.add_dependency 'mysql2', '>= 0.4.5', '< 0.6'
33
33
  end
@@ -8,8 +8,8 @@ gem "pry"
8
8
  gem "pry-byebug"
9
9
  gem "rake", "~> 13.0"
10
10
  gem "rails", "~> 5.2"
11
- gem "rspec"
12
- gem "rspec-rails", "~> 3.0"
11
+ gem "rspec", "~> 3.11"
12
+ gem "rspec-rails", "~> 5.0"
13
13
  gem "mysql2", "~> 0.4"
14
14
 
15
15
  gemspec path: "../"
@@ -8,8 +8,9 @@ gem "pry"
8
8
  gem "pry-byebug"
9
9
  gem "rake", "~> 13.0"
10
10
  gem "rails", "~> 6.0.0"
11
- gem "rspec"
12
- gem "rspec-rails", "~> 3.0"
11
+ gem "rspec", "~> 3.11"
12
+ gem "rspec-rails", "~> 5.0"
13
13
  gem "mysql2", "~> 0.5"
14
+ gem "net-smtp", require: false
14
15
 
15
16
  gemspec path: "../"
@@ -0,0 +1,16 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "coveralls", require: false
7
+ gem "pry"
8
+ gem "pry-byebug"
9
+ gem "rake", "~> 13.0"
10
+ gem "rails", "~> 6.1.0"
11
+ gem "rspec", "~> 3.11"
12
+ gem "rspec-rails", "~> 5.0"
13
+ gem "mysql2", "~> 0.5"
14
+ gem "net-smtp", require: false
15
+
16
+ gemspec path: "../"
@@ -0,0 +1,16 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "coveralls", require: false
7
+ gem "pry"
8
+ gem "pry-byebug"
9
+ gem "rake", "~> 13.0"
10
+ gem "rails", "~> 7.0.0"
11
+ gem "rspec", "~> 3.11"
12
+ gem "rspec-rails", "~> 5.0"
13
+ gem "mysql2", "~> 0.5"
14
+ gem "net-smtp", require: false
15
+
16
+ gemspec path: "../"
@@ -22,16 +22,6 @@ module ActiveRecord
22
22
  ActiveRecordColumnWithEnums = Enum.mysql_column_adapter
23
23
 
24
24
  module EnumColumnAdapter
25
- def initialize(*)
26
- super
27
-
28
- if type == :enum
29
- @default = if @default.present?
30
- @default.to_sym
31
- end
32
- end
33
- end
34
-
35
25
  # Convert to a symbol.
36
26
  def type_cast_from_database(value)
37
27
  if type == :enum
@@ -10,6 +10,13 @@ module ActiveRecord
10
10
 
11
11
  ActiveRecord::ConnectionAdapters::Mysql2Adapter
12
12
  end
13
+
14
+ def register_enum_with_type_mapping(m)
15
+ m.register_type(/enum/i) do |sql_type|
16
+ limit = sql_type.sub(/^enum\('(.+)'\)/i, '\1').split("','").map { |v| v.to_sym }
17
+ ActiveRecord::Type::Enum.new(limit: limit)
18
+ end
19
+ end
13
20
  end
14
21
 
15
22
  ActiveRecordMysqlAdapter = Enum.mysql_adapter
@@ -45,20 +52,24 @@ module ActiveRecord
45
52
  end
46
53
  end
47
54
 
55
+ if Gem::Version.new(Rails.version) < Gem::Version.new('7.0')
56
+ private
48
57
 
49
- private
50
-
51
- def initialize_type_map(m = type_map)
52
- super
58
+ def initialize_type_map(m = type_map)
59
+ super
53
60
 
54
- m.register_type(/enum/i) do |sql_type|
55
- limit = sql_type.sub(/^enum\('(.+)'\)/i, '\1').split("','").map { |v| v.to_sym }
56
- ActiveRecord::Type::Enum.new(limit: limit)
61
+ Enum.register_enum_with_type_mapping(m)
57
62
  end
58
63
  end
59
64
  end
60
65
 
61
66
  ActiveRecordMysqlAdapter.prepend ActiveRecord::Mysql::Enum::MysqlAdapter
67
+
68
+ unless Gem::Version.new(Rails.version) < Gem::Version.new('7.0')
69
+ [ActiveRecordMysqlAdapter::TYPE_MAP, ActiveRecordMysqlAdapter::TYPE_MAP_WITH_BOOLEAN].each do |m|
70
+ Enum.register_enum_with_type_mapping(m)
71
+ end
72
+ end
62
73
  end
63
74
  end
64
75
  end
@@ -6,7 +6,7 @@ module ActiveRecord
6
6
  def enum(*args)
7
7
  options = args.extract_options!
8
8
  column_names = args
9
- column_names.each { |name| column(name, 'enum', options) }
9
+ column_names.each { |name| column(name, :enum, **options) }
10
10
  end
11
11
  end
12
12
  end
@@ -3,7 +3,7 @@
3
3
  module ActiveRecord
4
4
  module Mysql
5
5
  module Enum
6
- VERSION = "2.0.0"
6
+ VERSION = "2.2.0"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-mysql-enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Pohodnya
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-08-10 00:00:00.000000000 Z
12
+ date: 2022-07-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -20,7 +20,7 @@ dependencies:
20
20
  version: '5.2'
21
21
  - - "<"
22
22
  - !ruby/object:Gem::Version
23
- version: '7'
23
+ version: '7.1'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -30,7 +30,7 @@ dependencies:
30
30
  version: '5.2'
31
31
  - - "<"
32
32
  - !ruby/object:Gem::Version
33
- version: '7'
33
+ version: '7.1'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: mysql2
36
36
  requirement: !ruby/object:Gem::Requirement
@@ -58,11 +58,12 @@ executables: []
58
58
  extensions: []
59
59
  extra_rdoc_files: []
60
60
  files:
61
- - ".dependabot/config.yml"
61
+ - ".github/dependabot.yml"
62
62
  - ".github/workflows/gem_release.yml"
63
63
  - ".github/workflows/test.yml"
64
64
  - ".gitignore"
65
65
  - ".rspec"
66
+ - ".ruby-version"
66
67
  - Appraisals
67
68
  - CHANGELOG.md
68
69
  - Gemfile
@@ -75,6 +76,8 @@ files:
75
76
  - gemfiles/.bundle/config
76
77
  - gemfiles/rails_5.gemfile
77
78
  - gemfiles/rails_6.gemfile
79
+ - gemfiles/rails_6_1.gemfile
80
+ - gemfiles/rails_7_0.gemfile
78
81
  - init.rb
79
82
  - lib/active_record/mysql/enum.rb
80
83
  - lib/active_record/mysql/enum/enum_column_adapter.rb
@@ -106,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
109
  - !ruby/object:Gem::Version
107
110
  version: '0'
108
111
  requirements: []
109
- rubygems_version: 3.0.1
112
+ rubygems_version: 3.1.6
110
113
  signing_key:
111
114
  specification_version: 4
112
115
  summary: Enable enum type for the MySQL Adapter in ActiveRecord
@@ -1,10 +0,0 @@
1
- ---
2
- version: 1
3
- update_configs:
4
- - package_manager: "ruby:bundler"
5
- directory: "/"
6
- update_schedule: "live"
7
- version_requirement_updates: "off"
8
- commit_message:
9
- prefix: "No-Jira"
10
- include_scope: true