Class Liquid::Drop
In: lib/liquid/drop.rb
Parent: Object

A drop in liquid is a class which allows you to export DOM like things to liquid. Methods of drops are callable. The main use for liquid drops is to implement lazy loaded objects. If you would like to make data available to the web designers which you don‘t want loaded unless needed then a drop is a great way to do that.

Example:

  class ProductDrop < Liquid::Drop
    def top_sales
      Shop.current.products.find(:all, :order => 'sales', :limit => 10 )
    end
  end

  tmpl = Liquid::Template.parse( ' {% for product in product.top_sales %} {{ product.name }} {%endfor%} '  )
  tmpl.render('product' => ProductDrop.new ) # will invoke top_sales query.

Your drop can either implement the methods sans any parameters or implement the before_method(name) method which is a catch all.

Methods

[]   before_method   has_key?   inspect   invoke_drop   to_liquid   to_s  

Constants

EMPTY_STRING = ''.freeze

Attributes

context  [W] 

Public Instance methods

[](method_or_key)

Alias for invoke_drop

Catch all for the method

called by liquid to invoke a drop

[Validate]