class Kameleon::DSL::Verify::Presence
Attributes
conditions[RW]
params[RW]
Public Class Methods
new(*params)
click to toggle source
# File lib/kameleon/dsl/verify/presence.rb, line 8 def initialize(*params) @params = params @conditions = [] parse_conditions end
Private Instance Methods
parse_conditions()
click to toggle source
# File lib/kameleon/dsl/verify/presence.rb, line 17 def parse_conditions prepare_conditions(params) end
prepare_conditions(param)
click to toggle source
# File lib/kameleon/dsl/verify/presence.rb, line 21 def prepare_conditions(param) case param when String, Fixnum param = param.to_s conditions << Condition.new(:have_content, param) when Symbol prepare_conditions(:element => param) when Hash param.each_pair do |type, values| case type when :link, :links conditions.concat Link.new(values).conditions when :image, :images conditions.concat Image.new(values).conditions when :ordered conditions.concat Sequence.new(values).conditions when Fixnum conditions.concat Quantity.new(type, values).conditions when String if type == "" prepare_conditions(:empty => values) else conditions.concat TextInput.new(type, values).conditions end when :checked, :unchecked, :check, :uncheck conditions.concat CheckBoxInput.new(type, values).conditions when :selected, :unselected, :select, :unselect conditions.concat SelectInput.new(type, values).conditions when :field, :fields conditions.concat TextInput.new(nil, values).conditions when :empty conditions.concat EmptyInput.new(values).conditions when :element conditions.concat Element.new(values).conditions else raise Kameleon::NotImplementedException, "Not implemented #{param}" end end when Array param.each { |parameter| prepare_conditions(parameter) } else raise Kameleon::NotImplementedException, "Not implemented #{param}" end end