Sha256: 18e36ff34aeff5ffd8fb7a8f14a7f2e2ef3230a446d01b1c1b826e6ba09a0f65

Contents?: true

Size: 1.38 KB

Versions: 8

Compression:

Stored size: 1.38 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 shuffle(array)
            array.to_a.shuffle
          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

8 entries across 8 versions & 1 rubygems

Version Path
locomotivecms_steam-1.1.2 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.2.0.beta1 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.1.1 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.1.0 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.1.0.rc3 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.1.0.rc2 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.1.0.rc1 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.0.1 lib/locomotive/steam/liquid/filters/misc.rb