diff --git a/lib/liquid/context.rb b/lib/liquid/context.rb index 73a6266..307cf2a 100644 --- a/lib/liquid/context.rb +++ b/lib/liquid/context.rb @@ -172,6 +172,7 @@ module Liquid # Fetches an object starting at the local scope and then moving up the hierachy def find_variable(key) scope = @scopes.find { |s| s.has_key?(key) } + variable = nil if scope.nil? @environments.each do |e| diff --git a/lib/liquid/htmltags.rb b/lib/liquid/htmltags.rb index 78424e6..62a5389 100644 --- a/lib/liquid/htmltags.rb +++ b/lib/liquid/htmltags.rb @@ -57,7 +57,7 @@ module Liquid result << "" << render_all(@nodelist, context) << '' - if col == cols and not (index == length - 1) + if col == cols and (index != length - 1) col = 0 row += 1 result << "\n" diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index e4d86bb..b189c2b 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -186,7 +186,7 @@ module Liquid else input end - rescue => e + rescue input end diff --git a/lib/liquid/tags/include.rb b/lib/liquid/tags/include.rb index 3c650f3..e19c373 100644 --- a/lib/liquid/tags/include.rb +++ b/lib/liquid/tags/include.rb @@ -48,8 +48,8 @@ module Liquid end if variable.is_a?(Array) - variable.collect do |variable| - context[@template_name[1..-2]] = variable + variable.collect do |var| + context[@template_name[1..-2]] = var partial.render(context) end else diff --git a/lib/liquid/tags/unless.rb b/lib/liquid/tags/unless.rb index a3d4d08..e561481 100644 --- a/lib/liquid/tags/unless.rb +++ b/lib/liquid/tags/unless.rb @@ -9,25 +9,25 @@ module Liquid class Unless < If def render(context) context.stack do - + # First condition is interpreted backwards ( if not ) - block = @blocks.first - unless block.evaluate(context) - return render_all(block.attachment, context) + first_block = @blocks.first + unless first_block.evaluate(context) + return render_all(first_block.attachment, context) end - + # After the first condition unless works just like if @blocks[1..-1].each do |block| if block.evaluate(context) return render_all(block.attachment, context) end end - + '' end end end - + Template.register_tag('unless', Unless) -end \ No newline at end of file +end diff --git a/lib/liquid/utils.rb b/lib/liquid/utils.rb index 6058a92..0bf6df2 100644 --- a/lib/liquid/utils.rb +++ b/lib/liquid/utils.rb @@ -3,7 +3,6 @@ module Liquid def self.slice_collection_using_each(collection, from, to) segments = [] index = 0 - yielded = 0 # Maintains Ruby 1.8.7 String#each behaviour on 1.9 return [collection] if non_blank_string?(collection)