Sha256: 2340cb373353470aa0136f281a3c821b4966ca49187df0450f7a106c00b3d5fd

Contents?: true

Size: 550 Bytes

Versions: 10

Compression:

Stored size: 550 Bytes

Contents

module Liquid
  module CustomBlocks
    class KeyIterator < Block
      def initialize(tag_name, markup, tokens)
        super
        @context_name, @var_name = markup.split(",").map(&:strip)
      end

      def render(context)
        res = ""
        iterator = context[@context_name].is_a?(Hash) ? context[@context_name].keys : context[@context_name]
        iterator.each.with_index do |key, index|
          context["index"] = index
          context[@var_name] = key
          res += super
        end
        res
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
metanorma-plugin-datastruct-0.3.0 lib/liquid/custom_blocks/key_iterator.rb
metanorma-plugin-datastruct-0.2.4 lib/liquid/custom_blocks/key_iterator.rb
metanorma-plugin-datastruct-0.2.3 lib/liquid/custom_blocks/key_iterator.rb
metanorma-plugin-datastruct-0.2.1 lib/liquid/custom_blocks/key_iterator.rb
metanorma-plugin-datastruct-0.2.0 lib/liquid/custom_blocks/key_iterator.rb
metanorma-plugin-datastruct-0.1.4 lib/liquid/custom_blocks/key_iterator.rb
metanorma-plugin-datastruct-0.1.3 lib/liquid/custom_blocks/key_iterator.rb
metanorma-plugin-datastruct-0.1.2 lib/liquid/custom_blocks/key_iterator.rb
metanorma-plugin-datastruct-0.1.1 lib/liquid/custom_blocks/key_iterator.rb
metanorma-plugin-datastruct-0.1.0 lib/liquid/custom_blocks/key_iterator.rb