enummer 1.0.3 → 1.0.4

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: da7e1c544817a7e7b874a4ca20372880f20d7cafe6cc5bb663e2224cd99d7ff2
4
- data.tar.gz: 3d18b5a7b106387dc8e76631f0b84204a7d11520f5dbb36b70bd8aa403b9569c
3
+ metadata.gz: 3876abd550e7a6cc2a44853daff2124bcaf7d277c9202d017b93d1f71a9b3223
4
+ data.tar.gz: 0ce455ff89be35d0aa8324570d33a5f4039ae4b3fdd7d67b317192d7bad60c21
5
5
  SHA512:
6
- metadata.gz: d16b48b263ca8ecf943e301993283ce356e3cf12961bd66839ce5a2400a3069197beeb4c75d24b2f7565a7c31fb1fe741e3a8c9a65f72d2b3d08549bf5ee3966
7
- data.tar.gz: 2b4d0c8c13b4133299c16e29034233c98fd1446c477f48bdc1acc6fc62db687da4ed8df47db6354475fab593043bf9e8ce0f11ca9bbc4e41796d62d678d69ab4
6
+ metadata.gz: b54ffad39435c24dcc57cf27914cdcf895be71333d2665ce553775fd39bb51e1ae6b986b25adb3dd52ff19e50319a402fa8e5ff994605fccca74ceb52fba1e63
7
+ data.tar.gz: 876a285e2de4701cef2fa2cf66e36d4d9ae560fb0951686392ad7b2fcbb7458a3ed4b9205742a55b55a3ecf4e39ed86e7816a16b07d1c9786a4cc43f4030913e
@@ -38,11 +38,12 @@ module Enummer
38
38
 
39
39
  define_method("#{method_name}?") { self[attribute_name].include?(name) }
40
40
  define_method("#{method_name}=") do |new_value|
41
- if new_value
42
- self[attribute_name].push(name)
41
+ if ActiveModel::Type::Boolean.new.cast(new_value)
42
+ self[attribute_name] += [name]
43
43
  else
44
- self[attribute_name].delete(name)
44
+ self[attribute_name] -= [name]
45
45
  end
46
+ self[attribute_name].uniq!
46
47
  end
47
48
  define_method("#{method_name}!") do
48
49
  update(attribute_name => self[attribute_name] + [name])
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Enummer
4
- VERSION = "1.0.3"
4
+ VERSION = "1.0.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enummer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamie Schembri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-27 00:00:00.000000000 Z
11
+ date: 2024-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -62,7 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  requirements: []
65
- rubygems_version: 3.3.3
65
+ rubygems_version: 3.5.4
66
66
  signing_key:
67
67
  specification_version: 4
68
68
  summary: Multi-value enums for Rails.