Method: Dugway::Drops::BaseDrop#before_method

Defined in:
lib/dugway/liquid/drops/base_drop.rb

#before_method(method_or_key) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/dugway/liquid/drops/base_drop.rb', line 30

def before_method(method_or_key)
  if respond_to?(method_or_key)
    # don't do anything, just let it default here
  elsif source.respond_to?(method_or_key)
    return source.send(method_or_key)
  elsif source.respond_to?('has_key?') && source.has_key?(method_or_key)
    return source[method_or_key]
  elsif source.is_a?(Array) && source.first.has_key?('permalink')
    for item in source
      return item if item['permalink'] == method_or_key.to_s
    end
  end

  nil
end