class T::Types::Enum
validates that the provided value is within a given set/enum
Attributes
values[R]
Public Class Methods
new(values)
click to toggle source
# File lib/types/types/enum.rb, line 13 def initialize(values) @values = values end
Public Instance Methods
describe_obj(obj)
click to toggle source
@override Base
# File lib/types/types/enum.rb, line 38 def describe_obj(obj) obj.inspect end
name()
click to toggle source
@override Base
# File lib/types/types/enum.rb, line 33 def name "T.enum([#{@values.map(&:inspect).join(', ')}])" end
valid?(obj)
click to toggle source
@override Base
# File lib/types/types/enum.rb, line 18 def valid?(obj) @values.member?(obj) end
Private Instance Methods
subtype_of_single?(other)
click to toggle source
@override Base
# File lib/types/types/enum.rb, line 23 def subtype_of_single?(other) case other when Enum (other.values - @values).empty? else false end end