swifter_enum 0.9.5 → 0.9.6

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: bc3b347202fe12dc7e9ee2c8fa4eb651c614ba0dad8e94ad1d7e8672ec4b277f
4
- data.tar.gz: f93a2c4c0c713f89499ae18e80398757295ed15c4cb2b71b36c2254f121450d3
3
+ metadata.gz: bc0cc85f030b595af2b26f01beabc39a89ca0b93225e15f89dbe4bb42a584769
4
+ data.tar.gz: 4b59b30641a70706fd33cf194ae9d3fb74dc9bb79431dcaf125be229df73853e
5
5
  SHA512:
6
- metadata.gz: 1d735965c2dd2a7db1e286285b3ec36871d3731f37fc824b11a0d1a7f7f5834b3de0be6568300df84cbbe13abcfc650b90a32a3dda42b8109df0b8d213cd6d6f
7
- data.tar.gz: c733bb8c4abd3c67c7a98b22a8c27da3eff45f517ceab52e5938a59a691c6a406b0304914ef9028a3f6fce3830737c02dce9b57f6288c7ae0d6f0c52a7866e77
6
+ metadata.gz: e76f0fdc3fc9fdce9f4765ec015c1081f24b7a39ae406969156e40912f5265174050aca81167d6d5631540e26531f604f7b80ad0cd7ae4c3efb63413f0f2cf1c
7
+ data.tar.gz: 95e05c2e64a25feb0de2c20b62cca2faa522bd55b173b8c592cb56ed30b847dc645391dae8da7dfb69dfe3d555feade28f3968004dc2b84b6337f204abb3f9dd
@@ -43,8 +43,6 @@ module SwifterEnum
43
43
  end
44
44
 
45
45
  def t
46
- return nil if value.nil?
47
-
48
46
  I18n.t("swifter_enum.#{self.class.name.demodulize.underscore}.#{value}")
49
47
  end
50
48
 
@@ -16,7 +16,8 @@ module SwifterEnum
16
16
 
17
17
  # Define getter method
18
18
  define_method(enum_name) do
19
- enum_klass.new(read_attribute(enum_name))
19
+ attribute = read_attribute(enum_name)
20
+ enum_klass.new(attribute) if attribute.present?
20
21
  end
21
22
 
22
23
  # Define setter method
@@ -3,18 +3,18 @@ require "active_model"
3
3
  module SwifterEnum
4
4
  class SwifterEnumValidator < ActiveModel::EachValidator
5
5
  def validate_each(record, attribute, a_value)
6
- if !a_value.is_a?(SwifterEnum::Base) || a_value.instance_of?(SwifterEnum::Base)
7
- record.errors.add(attribute, "#{a_value.value} is not a valid subclass of SwifterEnum")
8
- end
9
-
10
- if a_value.value.nil?
6
+ if a_value.nil?
11
7
  return if options[:allow_nil]
12
8
 
13
9
  record.errors.add(attribute, "nil value for #{attribute} is not allowed")
10
+ return
11
+ end
12
+
13
+ if !a_value.is_a?(SwifterEnum::Base) || a_value.instance_of?(SwifterEnum::Base)
14
+ record.errors.add(attribute, "#{a_value.value} is not a valid subclass of SwifterEnum")
14
15
  end
15
16
 
16
17
  unless a_value.class.values.key?(a_value.value)
17
- # binding.b
18
18
  record.errors.add(attribute, "#{a_value.value} is not a valid #{attribute} type")
19
19
  end
20
20
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SwifterEnum
4
- VERSION = "0.9.5"
4
+ VERSION = "0.9.6"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swifter_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.5
4
+ version: 0.9.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Jonson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-19 00:00:00.000000000 Z
11
+ date: 2024-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord