Sha256: 59477f0a8493b7e6a45060469ba49ddf68a3ae6fc4254b257aa814a5507b4b75

Contents?: true

Size: 950 Bytes

Versions: 19

Compression:

Stored size: 950 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}

        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

19 entries across 19 versions & 2 rubygems

Version Path
locomotive_cms-2.5.7 lib/locomotive/liquid/drops/base.rb
locomotivecms-3.0.0.pre.alpha.2 lib/locomotive/previous_liquid/drops/base.rb
locomotivecms-3.0.0.pre.alpha lib/locomotive/previous_liquid/drops/base.rb
locomotive_cms-2.5.6 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.5.6.rc2 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.5.6.rc1 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.5.5 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.5.4 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.5.3 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.5.2 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.5.1 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.5.0 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.5.0.rc3 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.5.0.rc2 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.5.0.rc1 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.4.1 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.4.0 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.3.1 lib/locomotive/liquid/drops/base.rb
locomotive_cms-2.3.0 lib/locomotive/liquid/drops/base.rb