From cc189950a06dfbd20a3a562d2fa50a794a38e487 Mon Sep 17 00:00:00 2001 From: RichMorin Date: Thu, 12 Aug 2010 13:45:58 -0700 Subject: [PATCH] Migrated from using-liquid-without-rails v6 --- Using-Liquid-without-Rails.textile | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Using-Liquid-without-Rails.textile b/Using-Liquid-without-Rails.textile index aa9c0a8..c2d35b0 100644 --- a/Using-Liquid-without-Rails.textile +++ b/Using-Liquid-without-Rails.textile @@ -3,8 +3,7 @@ The secret is creating a @to_liquid@ method on any classes you create. Let's say you have a Product class: -

-class Product
+
class Product
   attr_accessor :name, :price
   def initialize(name,price)
     @name = name
@@ -16,17 +15,19 @@ end
 And you have a chunk of text that you want to Liquidize by inserting some details about your products:
 
 
sentence = "I'm running to the store with {{ product.price }} dollars in my pocket "
-sentence += "to buy a {{ product.name }}."
+sentence += "to buy a {{ product.name }}." +
And you create a product and parse the sentence:
my_purchase = Product.new('box of sausages', 20)
-puts Liquid::Template.parse(sentence).render('product' => my_purchase)
+puts Liquid::Template.parse(sentence).render('product' => my_purchase) +
-You excitedly execute your code expecting to see your beautiful new sentence, but instead you get: +You excitedly execute your code, expecting to see your beautiful new sentence, but instead you get: -
I'm running to the store with Liquid error: undefined method `to_liquid' for #
+
I'm running to the store with Liquid error: undefined method `to_liquid' for #
@to_liquid?@ Where did that come from? @@ -45,10 +46,12 @@ So, we update the @Product@ class description to include that method: { "name" => self.name, "price" => self.price } end -end +end +
Run that again and presto: -
I'm running to the store with 20 dollars in my pocket to buy a box of sausages.
+
I'm running to the store with 20 dollars in my pocket to buy a box of sausages.
+
(Thanks to "Tom's":http://github.com/mojombo "Jekyll":http://github.com/mojombo/jekyll/tree/master/lib/jekyll/post.rb#L122-128 code for helping me figuring this out.) \ No newline at end of file