class Kafo::DataTypes::Enum

Public Class Methods

new(*permitted) click to toggle source
# File lib/kafo/data_types/enum.rb, line 4
def initialize(*permitted)
  @permitted = permitted
end

Public Instance Methods

to_s() click to toggle source
# File lib/kafo/data_types/enum.rb, line 8
def to_s
  @permitted.map(&:inspect).join(' or ')
end
valid?(input, errors = []) click to toggle source
# File lib/kafo/data_types/enum.rb, line 12
def valid?(input, errors = [])
  unless input.is_a?(::String)
    errors << "#{input.inspect} is not a valid string"
    return false
  end

  errors << "#{input} must be one of #{@permitted.join(', ')}" unless @permitted.include?(input)
  return errors.empty?
end