activerecord-mysql-enum 2.1.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: 2084948247375121f6afd7e4c37a3d80b71370d301de92801bbe8c8659a359a1
4
- data.tar.gz: 2f9c5a9fafb6ea306ec68fc7fcbfd7d1c0aa160990e2cff428ea6460088c9f44
3
+ metadata.gz: ffce6e3ac257695994f6047a2fc92014732807c6df5f73e7a50a8c9e43b4dead
4
+ data.tar.gz: 3cf2a902e47a9d4077c271802aaa1dd2f9dd382be35ff150537f4432312d4453
5
5
  SHA512:
6
- metadata.gz: 628fae94acef21e4d62a3c603c16924669f3f85118e1cb66c40ea6338c9273abb33aafc63d4e0e0c174143f2e53ae97da1b3e8bac2b55b3fb3721e87a76e6cce
7
- data.tar.gz: '04157914bbeda6f17243216409fa612e357f643c6694c824551eaf4624e1b7d07ffd150b5f6d4c43dbb3acf57ebcb574af3b5737ac438692b5f7b813d4216312'
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
@@ -24,6 +24,8 @@ jobs:
24
24
  - Gemfile
25
25
  - gemfiles/rails_5.gemfile
26
26
  - gemfiles/rails_6.gemfile
27
+ - gemfiles/rails_6_1.gemfile
28
+ - gemfiles/rails_7_0.gemfile
27
29
  exclude:
28
30
  - ruby: '3.0'
29
31
  gemfile: Gemfile
@@ -33,6 +35,10 @@ jobs:
33
35
  gemfile: gemfiles/rails_5.gemfile
34
36
  - ruby: 3.1
35
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
36
42
  env:
37
43
  BUNDLE_GEMFILE: ${{ matrix.gemfile }}
38
44
  DATABASE_MYSQL_HOST: 127.0.0.1
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,10 @@ 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
+
7
11
  ## [2.1.0] - 2022-04-11
8
12
  ### Added
9
13
  - Added ruby 3 support
@@ -56,6 +60,7 @@ Note: this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0
56
60
  ### Changed
57
61
  - Renamed the gem from `enum_column3` to `activerecord-mysql-enum`
58
62
 
63
+ [2.2.0]: https://github.com/Invoca/activerecord-mysql-enum/compare/v2.1.0...v2.2.0
59
64
  [2.1.0]: https://github.com/Invoca/activerecord-mysql-enum/compare/v2.0.0...v2.1.0
60
65
  [2.0.0]: https://github.com/Invoca/activerecord-mysql-enum/compare/v1.0.0...v2.0.0
61
66
  [1.0.0]: https://github.com/Invoca/activerecord-mysql-enum/compare/v0.1.4...v1.0.0
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- activerecord-mysql-enum (2.1.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
@@ -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)
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", "~> 4.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,8 @@ 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", "~> 4.0"
11
+ gem "rspec", "~> 3.11"
12
+ gem "rspec-rails", "~> 5.0"
13
13
  gem "mysql2", "~> 0.5"
14
14
  gem "net-smtp", require: false
15
15
 
@@ -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(*args, **kwargs, &block)
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.1.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.1.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: 2022-04-11 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,7 +58,7 @@ 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"
@@ -76,6 +76,8 @@ files:
76
76
  - gemfiles/.bundle/config
77
77
  - gemfiles/rails_5.gemfile
78
78
  - gemfiles/rails_6.gemfile
79
+ - gemfiles/rails_6_1.gemfile
80
+ - gemfiles/rails_7_0.gemfile
79
81
  - init.rb
80
82
  - lib/active_record/mysql/enum.rb
81
83
  - lib/active_record/mysql/enum/enum_column_adapter.rb
@@ -107,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
109
  - !ruby/object:Gem::Version
108
110
  version: '0'
109
111
  requirements: []
110
- rubygems_version: 3.3.11
112
+ rubygems_version: 3.1.6
111
113
  signing_key:
112
114
  specification_version: 4
113
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