module Rasti::Enum

Constants

VERSION

Public Instance Methods

[](value) click to toggle source
# File lib/rasti/enum.rb, line 25
def [](value)
  values.detect { |e| e == value.to_s } || raise("Invalid value #{value} for #{name}")
end
include?(value) click to toggle source
# File lib/rasti/enum.rb, line 29
def include?(value)
  values.any? { |e| e == value.to_s }
end
values() click to toggle source
# File lib/rasti/enum.rb, line 21
def values
  @values ||= included_classes.map(&:new)
end

Private Instance Methods

class_constants() click to toggle source
# File lib/rasti/enum.rb, line 35
def class_constants
  constants.select { |c| const_get(c).is_a? Class }.sort
end
included_classes() click to toggle source
# File lib/rasti/enum.rb, line 39
def included_classes
  @included_classes ||= class_constants.map { |c| const_get(c) }
end