mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-12 23:40:45 -07:00
Ruby 1.8.x compatibility
This commit is contained in:
+5
-5
@@ -55,12 +55,12 @@ module Liquid
|
||||
# Check for method existence without invoking respond_to?, which creates symbols
|
||||
def self.invokable?(method_name)
|
||||
unless @invokable_methods
|
||||
blacklist = Liquid::Drop.public_instance_methods + [:each]
|
||||
if include?(Enumerable)
|
||||
blacklist += Enumerable.public_instance_methods
|
||||
blacklist -= [:sort, :count, :first, :min, :max]
|
||||
end
|
||||
# Ruby 1.8 compatibility: call to_s on method names (which are strings in 1.8, but already symbols in 1.9)
|
||||
blacklist = (Liquid::Drop.public_instance_methods + [:each]).map(&:to_s)
|
||||
if include?(Enumerable)
|
||||
blacklist += Enumerable.public_instance_methods.map(&:to_s)
|
||||
blacklist -= [:sort, :count, :first, :min, :max].map(&:to_s)
|
||||
end
|
||||
whitelist = [:to_liquid] + (public_instance_methods.map(&:to_s) - blacklist.map(&:to_s))
|
||||
@invokable_methods = Set.new(whitelist.map(&:to_s))
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user