class Rasti::Types::Enum

Attributes

values[R]

Public Class Methods

[](*values) click to toggle source
# File lib/rasti/types/enum.rb, line 9
def self.[](*values)
  new values
end
new(values) click to toggle source
# File lib/rasti/types/enum.rb, line 20
def initialize(values)
  @values = values.map(&:to_s)
  define_getters
end

Public Instance Methods

inspect()
Alias for: to_s
to_s() click to toggle source
# File lib/rasti/types/enum.rb, line 13
def to_s
  "#{self.class}[#{values.map(&:inspect).join(', ')}]"
end
Also aliased as: inspect

Private Instance Methods

define_getters() click to toggle source
# File lib/rasti/types/enum.rb, line 33
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/enum.rb, line 29
def transform(value)
  String.cast value
end
valid?(value) click to toggle source
# File lib/rasti/types/enum.rb, line 25
def valid?(value)
  values.include? String.cast(value)
end