rails_sorbet_enum 0.3.0 → 0.4.0

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: cdef0b96b3a3eae6bd045fe68a35e277ddc318bb59a4053319001fc94726174b
4
- data.tar.gz: 5444e0c5b93bd459c86183d8f2ee50a4548e5163d8e6bcb67a4cc81d9f34a401
3
+ metadata.gz: e1f97bca7340e8c862692df5124191c18cca8b3cb73dcac102bebc2def62d18b
4
+ data.tar.gz: 88de2d706ca25843fea3bc1423cfcd360d95e90c393a5ae52be4377f636b3928
5
5
  SHA512:
6
- metadata.gz: 6a694bb027560e17856b7837e7c303762e623b6434dbffb028276a13ea052c7d4599511208e4d3f9dd8aa1aaf9f4ceda1f95be4b88f2635f8caa0c3ecdeb1726
7
- data.tar.gz: f0c4512d3cf449bd88cc2afbf26ef5af0fb46a695363687d1313dff244e6c37eda646f18f15ed3ebaa2cfc714d3d0db6c0ae7cfcef70a5475934a77633995ce0
6
+ metadata.gz: e5f8e947fa7d50509f6f62fa9911443de93abaf214f95856b73f7ef3c000abef7d66909bae27ce50a0f5a0c2381b10ee3e2fe08fc28646a28059e15ddf37f7dd
7
+ data.tar.gz: a88217cdd7e6988c02edd91c6748a55e04406347561e794ee814f7c96fa160c480f29d0cf5fbab5d27607c827645760ad8160d45846e10be0adcd5ef13a6b8df
@@ -21,18 +21,19 @@ module RailsSorbetEnum
21
21
  params(
22
22
  name: Symbol,
23
23
  type: T.class_of(T::Enum),
24
- presence: T::Boolean
24
+ validation_opts: T::Hash[Symbol, T.untyped]
25
25
  ).void
26
26
  end
27
- def sorbet_enum(name, type, presence: true)
27
+ def sorbet_enum(name, type, validation_opts: {})
28
28
  sorbet_enum_attributes << [name, type]
29
29
 
30
30
  # The Rails enum values are the serialized T::Enum ones
31
31
  serialize(name, coder: Serializer.new(type))
32
32
 
33
33
  validates name,
34
- presence: presence,
35
- inclusion: { in: type.values, allow_blank: !presence }
34
+ presence: true,
35
+ inclusion: { in: type.values, allow_blank: !validation_opts.fetch(:presence, true) },
36
+ **validation_opts
36
37
 
37
38
  T.unsafe(self).define_method("#{name}=") do |arg|
38
39
  raise ArgumentError, "expected #{type.name} but got #{arg.class}" if arg && arg.class != type
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module RailsSorbetEnum
5
- VERSION = "0.3.0"
5
+ VERSION = "0.4.0"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_sorbet_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franklin Hu