Sha256: 5ea1a7e5f93d74250623da5114092181895afee2a76a256814cc75a39ed36fb4
Contents?: true
Size: 962 Bytes
Versions: 4
Compression:
Stored size: 962 Bytes
Contents
require 'gorillib/some' require 'gorillib/model' require 'tsort' require 'hanuman/registry' require 'hanuman/link' require 'hanuman/stage' require 'hanuman/graph' 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
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
wukong-3.0.1 | lib/hanuman.rb |
wukong-3.0.0 | lib/hanuman.rb |
wukong-3.0.0.pre3 | lib/hanuman.rb |
wukong-3.0.0.pre2 | lib/hanuman.rb |