lib/liquid/expression.rb in liquid-3.0.6 vs lib/liquid/expression.rb in liquid-4.0.0.rc1
- old
+ new
@@ -1,13 +1,26 @@
module Liquid
class Expression
+ class MethodLiteral
+ attr_reader :method_name, :to_s
+
+ def initialize(method_name, to_s)
+ @method_name = method_name
+ @to_s = to_s
+ end
+
+ def to_liquid
+ to_s
+ end
+ end
+
LITERALS = {
nil => nil, 'nil'.freeze => nil, 'null'.freeze => nil, ''.freeze => nil,
'true'.freeze => true,
'false'.freeze => false,
- 'blank'.freeze => :blank?,
- 'empty'.freeze => :empty?
+ 'blank'.freeze => MethodLiteral.new(:blank?, '').freeze,
+ 'empty'.freeze => MethodLiteral.new(:empty?, '').freeze
}
def self.parse(markup)
if LITERALS.key?(markup)
LITERALS[markup]
@@ -26,8 +39,7 @@
else
VariableLookup.parse(markup)
end
end
end
-
end
end