class Perus::Pinger::Option
Attributes
default[R]
name[R]
restricted[R]
Public Class Methods
new(name, settings, command)
click to toggle source
# File lib/perus/pinger/command.rb, line 8 def initialize(name, settings, command) @name = name @command = command @default = settings[:default] @restricted = settings[:restricted] == true end
Public Instance Methods
boolean?()
click to toggle source
# File lib/perus/pinger/command.rb, line 15 def boolean? default.is_a?(TrueClass) || default.is_a?(FalseClass) end
process(results, values)
click to toggle source
# File lib/perus/pinger/command.rb, line 19 def process(results, values) value = values[name.to_s] value = value || default if value.nil? raise "#{name} is a required option" end if restricted allowed = Pinger.options[@command.name.demodulize][@name.to_s] raise "the value, #{value}, passed to #{@name} is not allowed" unless allowed.include?(value) end results[name] = value end