class Dugway::Drops::BaseDrop

Attributes

params[R]
request[R]
source[R]

Public Class Methods

new(source=nil) click to toggle source
# File lib/dugway/liquid/drops/base_drop.rb, line 8
def initialize(source=nil)
  @source = source
end

Public Instance Methods

before_method(method_or_key) click to toggle source
# 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
cart() click to toggle source
# File lib/dugway/liquid/drops/base_drop.rb, line 26
def cart
  Dugway.cart
end
context=(current_context) click to toggle source
Calls superclass method
# File lib/dugway/liquid/drops/base_drop.rb, line 12
def context=(current_context)
  @request = current_context.registers[:request]
  @params = current_context.registers[:params]
  super
end
error(msg) click to toggle source
# File lib/dugway/liquid/drops/base_drop.rb, line 54
def error(msg)
  errors << msg
end
errors() click to toggle source
# File lib/dugway/liquid/drops/base_drop.rb, line 50
def errors
  @context['errors']
end
method_missing(method, *args, &block) click to toggle source
# File lib/dugway/liquid/drops/base_drop.rb, line 46
def method_missing(method, *args, &block)
  before_method(method.to_s)
end
store() click to toggle source
# File lib/dugway/liquid/drops/base_drop.rb, line 18
def store
  Dugway.store
end
theme() click to toggle source
# File lib/dugway/liquid/drops/base_drop.rb, line 22
def theme
  Dugway.theme
end