class Kameleon::DSL::Verify::Absence

Attributes

conditions[RW]
params[RW]

Public Class Methods

new(*params) click to toggle source
# File lib/kameleon/dsl/verify/absence.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/absence.rb, line 17
def parse_conditions
  prepare_conditions(params)
end
prepare_conditions(param) click to toggle source
# File lib/kameleon/dsl/verify/absence.rb, line 21
def prepare_conditions(param)
  case param
    when String
      conditions << Condition.new(:have_no_content, 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 :field, :fields
            conditions.concat Field.new(values).conditions
          else
            raise "not implemented"
        end
      end
    when Array
      params.each { |parameter| prepare_conditions(parameter) }
    else
      raise "not implemented"
  end
end