Sha256: 864dc15ab7452a8bffd88040696d93464e06a59cc72b377ceb242603156c9828

Contents?: true

Size: 1.63 KB

Versions: 13

Compression:

Stored size: 1.63 KB

Contents

module Locomotive
  module Steam
    module Liquid
      module Filters
        module Misc

          def blank?(input)
            input.blank?
          end

          def present?(input)
            input.present?
          end

          # 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?(:[])
                r = e[property]
                r.is_a?(Proc) ? r.call : r
              end
            end
          rescue TypeError
            raise_property_error(property)
          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

13 entries across 13 versions & 1 rubygems

Version Path
locomotivecms_steam-1.8.0.alpha2 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.8.0.alpha1 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.7.1 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.7.0 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.6.1 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.6.0 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.6.0.rc1 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.6.0.beta1 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.5.3 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.5.2 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.5.1 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.5.0 lib/locomotive/steam/liquid/filters/misc.rb
locomotivecms_steam-1.5.0.rc1 lib/locomotive/steam/liquid/filters/misc.rb