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:
Dorian Marié
2015-03-24 14:09:08 +01:00
parent 63eb1aac69
commit 23a23c6419
+16 -14
View File
@@ -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