mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-17 01:40:42 -07:00
Update module_ex.rb code documentation and code style
Didn't look good on rubydoc.info: http://i.imgur.com/469N92P.png
This commit is contained in:
+16
-14
@@ -7,16 +7,17 @@
|
|||||||
# to the allowed method passed with the liquid_methods call
|
# to the allowed method passed with the liquid_methods call
|
||||||
# Example:
|
# Example:
|
||||||
#
|
#
|
||||||
# class SomeClass
|
# class SomeClass
|
||||||
# liquid_methods :an_allowed_method
|
# liquid_methods :an_allowed_method
|
||||||
#
|
#
|
||||||
# def an_allowed_method
|
# def an_allowed_method
|
||||||
# 'this comes from an allowed method'
|
# 'this comes from an allowed method'
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# def unallowed_method
|
||||||
|
# 'this will never be an output'
|
||||||
|
# end
|
||||||
# end
|
# end
|
||||||
# def unallowed_method
|
|
||||||
# 'this will never be an output'
|
|
||||||
# end
|
|
||||||
# end
|
|
||||||
#
|
#
|
||||||
# if you want to extend the drop to other methods you can defines more methods
|
# if you want to extend the drop to other methods you can defines more methods
|
||||||
# in the class <YourClass>::LiquidDropClass
|
# in the class <YourClass>::LiquidDropClass
|
||||||
@@ -26,31 +27,33 @@
|
|||||||
# 'and this from another allowed method'
|
# 'and this from another allowed method'
|
||||||
# end
|
# end
|
||||||
# end
|
# end
|
||||||
# end
|
#
|
||||||
#
|
#
|
||||||
# usage:
|
# usage:
|
||||||
# @something = SomeClass.new
|
# @something = SomeClass.new
|
||||||
#
|
#
|
||||||
# template:
|
# template:
|
||||||
# {{something.an_allowed_method}}{{something.unallowed_method}} {{something.another_allowed_method}}
|
# {{something.an_allowed_method}}{{something.unallowed_method}} {{something.another_allowed_method}}
|
||||||
#
|
#
|
||||||
# output:
|
# output:
|
||||||
# 'this comes from an allowed method and this from another allowed method'
|
# 'this comes from an allowed method and this from another allowed method'
|
||||||
#
|
#
|
||||||
# You can also chain associations, by adding the liquid_method call in the
|
# You can also chain associations, by adding the liquid_method call in the
|
||||||
# association models.
|
# association models.
|
||||||
#
|
#
|
||||||
class Module
|
class Module
|
||||||
|
|
||||||
def liquid_methods(*allowed_methods)
|
def liquid_methods(*allowed_methods)
|
||||||
drop_class = eval "class #{self.to_s}::LiquidDropClass < Liquid::Drop; self; end"
|
drop_class = eval "class #{self.to_s}::LiquidDropClass < Liquid::Drop; self; end"
|
||||||
|
|
||||||
define_method :to_liquid do
|
define_method :to_liquid do
|
||||||
drop_class.new(self)
|
drop_class.new(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
drop_class.class_eval do
|
drop_class.class_eval do
|
||||||
def initialize(object)
|
def initialize(object)
|
||||||
@object = object
|
@object = object
|
||||||
end
|
end
|
||||||
|
|
||||||
allowed_methods.each do |sym|
|
allowed_methods.each do |sym|
|
||||||
define_method sym do
|
define_method sym do
|
||||||
@object.send sym
|
@object.send sym
|
||||||
@@ -58,5 +61,4 @@ class Module
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user