class Locomotive::Steam::Liquid::Drops::Base
Public Class Methods
new(source)
click to toggle source
# File lib/locomotive/steam/liquid/drops/base.rb, line 9 def initialize(source) @_source = source end
Public Instance Methods
as_json(options = nil)
click to toggle source
# File lib/locomotive/steam/liquid/drops/base.rb, line 17 def as_json(options = nil) @_source.as_json(options) end
id()
click to toggle source
# File lib/locomotive/steam/liquid/drops/base.rb, line 13 def id (@_source.respond_to?(:id) ? @_source.id : nil) || 'new' end
Protected Instance Methods
_source()
click to toggle source
# File lib/locomotive/steam/liquid/drops/base.rb, line 45 def _source @_source end
liquify(*records, &block)
click to toggle source
converts an array of records to an array of liquid drops
# File lib/locomotive/steam/liquid/drops/base.rb, line 24 def liquify(*records, &block) i = -1 records = records.inject [] do |all, r| i += 1 attrs = (block && block.arity == 1) ? [r] : [r, i] all << (block ? block.call(*attrs) : r.to_liquid).tap do |_r| # For unknown reasons, Liquid doesn't always set the context # # Example: # {{ site.index.children | map: 'title' | join: " - " }} # was not working before # _r.context = @context if _r.respond_to?(:context=) end all end records.compact! records end