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