Sha256: 734c82647bdfff3a5c25aa1b2bdf70a38675fecff67a1a475ec0775642876fc5

Contents?: true

Size: 980 Bytes

Versions: 26

Compression:

Stored size: 980 Bytes

Contents

# Liquify taken from Mephisto sources (http://mephistoblog.com/)
module Locomotive
  module Liquid
    module Drops
      class Base < ::Liquid::Drop

        @@forbidden_attributes = %w{_id _version _index}

        attr_reader :_source

        def initialize(source)
          @_source = source
        end

        def id
          (@_source.respond_to?(:id) ? @_source.id : nil) || 'new'
        end

        # converts an array of records to an array of liquid drops
        def self.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)
              all
            end
          records.compact!
          records
        end

        protected

        def liquify(*records, &block)
          self.class.liquify(*records, &block)
        end

      end
    end
  end
end

Version data entries

26 entries across 26 versions & 2 rubygems

Version Path
locomotive_cms-2.2.3 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.2.2 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.2.1 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.2.0 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.1.4 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.1.3 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.1.2 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.1.1 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.1.0 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.0.3 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.0.2 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.0.1 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.0.0 lib/locomotive/liquid/drops/base.rb
tribeca_cms-0.1.1 lib/locomotive/liquid/drops/base.rb
tribeca_cms-2.0.0.rc12 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.0.0.rc12 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.0.0.rc11 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.0.0.rc10 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.0.0.rc9 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.0.0.rc8 lib/locomotive/liquid/drops/base.rb