class Rasti::Types::TypedEnum
Attributes
enum[R]
Public Class Methods
[](enum)
click to toggle source
# File lib/rasti/types/typed_enum.rb, line 7 def self.[](enum) new enum end
new(enum)
click to toggle source
# File lib/rasti/types/typed_enum.rb, line 11 def initialize(enum) @enum = enum define_getters end
Public Instance Methods
to_s()
click to toggle source
# File lib/rasti/types/typed_enum.rb, line 20 def to_s "#{self.class}[#{enum}]" end
Also aliased as: inspect
values()
click to toggle source
# File lib/rasti/types/typed_enum.rb, line 16 def values enum.values end
Private Instance Methods
define_getters()
click to toggle source
# File lib/rasti/types/typed_enum.rb, line 37 def define_getters values.each do |value| define_singleton_method(Inflecto.underscore(value)) { value } end end
transform(value)
click to toggle source
# File lib/rasti/types/typed_enum.rb, line 33 def transform(value) enum[value] end
valid?(value)
click to toggle source
# File lib/rasti/types/typed_enum.rb, line 29 def valid?(value) enum.include? value end