class Kafo::DataTypes::Enum
Public Class Methods
Source
# File lib/kafo/data_types/enum.rb, line 4 def initialize(*permitted) @permitted = permitted end
Public Instance Methods
Source
# File lib/kafo/data_types/enum.rb, line 8 def to_s @permitted.map(&:inspect).join(' or ') end
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