Sha256: d996701e0f65e48e1610b7b4eb1248f4ab22f6285bf3e4083f2039e1a3b185e9

Contents?: true

Size: 750 Bytes

Versions: 100

Compression:

Stored size: 750 Bytes

Contents

require_relative '../../dsl/intrinsic_functions'

module Convection
  module Model
    ##
    # Hash with auto-generating sparse keys
    ##
    class Smash < Hash
      def initialize(*args)
        super do |hash, key|
          hash[key] = Smash.new
        end
      end
    end

    class Template
      ##
      # Mapping
      ##
      class Mapping
        include DSL::Helpers

        attr_reader :items
        attr_reader :template

        def initialize(name, parent)
          @name = name
          @template = parent.template

          @items = Smash.new
        end

        def item(key_1, key_2, value)
          items[key_1][key_2] = value
        end

        def render
          items
        end
      end
    end
  end
end

Version data entries

100 entries across 100 versions & 1 rubygems

Version Path
convection-2.3.1 lib/convection/model/template/mapping.rb
convection-2.3.0 lib/convection/model/template/mapping.rb
convection-2.2.29 lib/convection/model/template/mapping.rb
convection-2.2.28.pre.beta.2 lib/convection/model/template/mapping.rb
convection-2.2.28.pre.beta.1 lib/convection/model/template/mapping.rb
convection-2.2.27 lib/convection/model/template/mapping.rb
convection-2.2.26 lib/convection/model/template/mapping.rb
convection-2.2.25 lib/convection/model/template/mapping.rb
convection-2.2.24 lib/convection/model/template/mapping.rb
convection-2.2.23 lib/convection/model/template/mapping.rb
convection-2.2.22 lib/convection/model/template/mapping.rb
convection-2.2.21 lib/convection/model/template/mapping.rb
convection-2.2.20 lib/convection/model/template/mapping.rb
convection-2.2.19 lib/convection/model/template/mapping.rb
convection-2.2.18 lib/convection/model/template/mapping.rb
convection-2.2.17 lib/convection/model/template/mapping.rb
convection-2.2.16 lib/convection/model/template/mapping.rb
convection-2.2.15 lib/convection/model/template/mapping.rb
convection-2.2.14 lib/convection/model/template/mapping.rb
convection-2.2.13 lib/convection/model/template/mapping.rb