Sha256: 1f500b37dff08d9b517367944860bac81e8b5cba3b2b5d6897000713736fd0a9
Contents?: true
Size: 969 Bytes
Versions: 3
Compression:
Stored size: 969 Bytes
Contents
require 'gorillib/some' require 'gorillib/model' require 'hanuman/registry' require 'hanuman/link' require 'hanuman/stage' require 'hanuman/graph' require 'hanuman/tree' module Hanuman module Shortcuts def builder_shortcut(builder_type, label, *args, &blk) if GlobalRegistry.registered?(label) builder = GlobalRegistry.retrieve(label) else builder = builder_type.receive(label: label) end GlobalRegistry.decorate_with_registry(builder) if builder.is_a?(GraphBuilder) builder.define(*args, &blk) end def add_shortcut_method_for(method_name, builder_type) self.define_singleton_method(method_name){ |label, *args, &blk| builder_shortcut(builder_type, label, *args, &blk) } end def registry() Hanuman::GlobalRegistry ; end end extend Hanuman::Shortcuts add_shortcut_method_for(:stage, StageBuilder) add_shortcut_method_for(:graph, GraphBuilder) end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
ul-wukong-4.1.1 | lib/hanuman.rb |
ul-wukong-4.1.0 | lib/hanuman.rb |
wukong-4.0.0 | lib/hanuman.rb |