Sha256: 7b9006425a3e68cdc765b7047d449269111b43bc1414a4330bbfa7b38f08c376

Contents?: true

Size: 367 Bytes

Versions: 3

Compression:

Stored size: 367 Bytes

Contents

module NxtSchema
  module Node
    class TemplateStore < ::Hash
      def push(node)
        node_name = node.name
        raise_key_error(node_name) if key?(node_name)
        self[node_name] = node
      end

      def raise_key_error(key)
        raise KeyError, "Node with name '#{key}' already registered! Node names must be unique!"
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nxt_schema-0.1.2 lib/nxt_schema/node/template_store.rb
nxt_schema-0.1.1 lib/nxt_schema/node/template_store.rb
nxt_schema-0.1.0 lib/nxt_schema/node/template_store.rb