Module: Cascading::Registerable

Included in:
Cascade, Flow
Defined in:
lib/cascading/base.rb

Overview

A module to add auto-registration capability

Instance Method Summary collapse

Instance Method Details

#add(name, instance) ⇒ Object



106
107
108
109
110
# File 'lib/cascading/base.rb', line 106

def add(name, instance)
  @registered ||= {}
  warn "WARNING: Node named '#{name}' already registered in #{self}" if @registered[name]
  @registered[name] = instance
end

#allObject



89
90
91
# File 'lib/cascading/base.rb', line 89

def all
  @registered.nil? ? [] : @registered.values
end

#get(key) ⇒ Object



93
94
95
96
97
98
99
100
# File 'lib/cascading/base.rb', line 93

def get(key)
  if key.is_a? self
    return key
  else
    @registered ||= {}
    return @registered[key]
  end
end

#resetObject



102
103
104
# File 'lib/cascading/base.rb', line 102

def reset
  @registered.clear if @registered
end