class Bifrossht::Config::Element

Public Class Methods

new(options = {}) click to toggle source
# File lib/bifrossht/config/element.rb, line 4
def initialize(options = {})
  @options = options
end

Private Instance Methods

validate_boolean(option) click to toggle source
# File lib/bifrossht/config/element.rb, line 29
def validate_boolean(option)
  validate_enum(option, [true, false])
end
validate_enum(option, values) click to toggle source
# File lib/bifrossht/config/element.rb, line 22
def validate_enum(option, values)
  return unless @options.key?(option)

  value = @options[option]
  raise ParameterError, "option #{option} for #{self.class} does not allow value #{value}" unless values.include?(value)
end
validate_presence(*options) click to toggle source
# File lib/bifrossht/config/element.rb, line 10
def validate_presence(*options)
  options.each do |name|
    raise ParameterError, "#{self.class.name} is missing parameter #{name}" unless @options.key?(name)
  end
end
validate_type(option, type) click to toggle source
# File lib/bifrossht/config/element.rb, line 16
def validate_type(option, type)
  return unless @options.key?(option)

  raise ParameterError, "option #{option} for #{self.class} is not of type #{type}" unless @options[option].is_a? type
end