Module: ActivePath::Conditions::Conditional

Included in:
Subscribers::ViewInjection
Defined in:
lib/active_path/conditions/conditional.rb

Instance Method Summary collapse

Instance Method Details

#condition_match?(condition) ⇒ Boolean

Returns:

  • (Boolean)


10
11
12
13
14
15
16
# File 'lib/active_path/conditions/conditional.rb', line 10

def condition_match?(condition)
  if condition.is_a?(Hash)
    hash_match?(condition)
  elsif condition.is_a?(Proc)
    proc_match?(condition)
  end
end

#conditions_match?(conditions) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
7
8
# File 'lib/active_path/conditions/conditional.rb', line 4

def conditions_match?(conditions)
  conditions.all? do |condition|
    condition_match?(condition)
  end
end

#hash_match?(condition) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
21
22
# File 'lib/active_path/conditions/conditional.rb', line 18

def hash_match?(condition)
  condition.all? do |k,v|
    options[:locals][k] == v
  end
end

#proc_match?(condition) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/active_path/conditions/conditional.rb', line 24

def proc_match?(condition)
  condition.call(options[:locals])
end