class Locomotive::Steam::Liquid::Drops::Metafields

Public Instance Methods

liquid_method_missing(meth) click to toggle source
# File lib/locomotive/steam/liquid/drops/metafields.rb, line 82
def liquid_method_missing(meth)
  find_namespace(meth.to_s)
end

Private Instance Methods

_find_namespace(name) click to toggle source
# File lib/locomotive/steam/liquid/drops/metafields.rb, line 97
def _find_namespace(name)
  @_source.metafields_schema.find { |s| s['name'] == name }
end
find_namespace(name) click to toggle source
# File lib/locomotive/steam/liquid/drops/metafields.rb, line 88
def find_namespace(name)
  if namespace = _find_namespace(name)
    MetafieldsNamespace.new(@_source).tap { |d| d.namespace = namespace }
  else
    Locomotive::Common::Logger.warn "[Liquid template] unknown site metafield namespace \"#{name}\""
    nil
  end
end