Sha256: ef54f16b4aa4f3d5bb125f941a378503dbe629f464f7a6b7aedf05751eba51b1

Contents?: true

Size: 1.31 KB

Versions: 10

Compression:

Stored size: 1.31 KB

Contents

module Locomotive
  module Steam
    module Liquid
      module Filters
        module Misc

          # was called modulo at first
          def str_modulo(word, index, modulo)
            (index.to_i + 1) % modulo == 0 ? word : ''
          end

          # Get the nth element of the passed in array
          def index(array, position)
            array.at(position) if array.respond_to?(:at)
          end

          def default(input, value)
            input.blank? ? value : input
          end

          def random(input)
            rand(input.to_i)
          end

          # map/collect on a given property (support to_f, to_i)
          def map(input, property)
            ::Liquid::StandardFilters::InputIterator.new(input).map do |e|
              e = e.call if e.is_a?(Proc)

              if property == "to_liquid".freeze
                e
              elsif property == 'to_f'.freeze
                e.to_f
              elsif property == 'to_i'.freeze
                e.to_i
              elsif e.respond_to?(:[])
                e[property]
              end
            end

          end

          def hexdigest(input, key, digest = nil)
            OpenSSL::HMAC.hexdigest(digest || 'sha1', key, input)
          end

        end

        ::Liquid::Template.register_filter(Misc)

      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
locomotivecms_steam-1.0.0 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.0.0.rc10 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.0.0.rc9 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.0.0.rc8 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.0.0.rc6 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.0.0.rc4 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.0.0.rc3 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.0.0.rc2 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.0.0.rc1 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.0.0.pre.beta.3 lib/locomotive/steam/liquid/filters/misc.rb