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

inspect()
Alias for: to_s
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