class Bcome::Node::Resources::Base
Attributes
nodes[R]
Public Class Methods
new(*_params)
click to toggle source
# File lib/objects/node/resources/base.rb, line 9 def initialize(*_params) @nodes = [] @disabled_resources = [] end
Public Instance Methods
<<(node)
click to toggle source
# File lib/objects/node/resources/base.rb, line 18 def <<(node) existing_node = for_identifier(node.identifier) if existing_node exception_message = "#{node.identifier} is not unique within namespace #{node.parent.namespace}" raise Bcome::Exception::NodeIdentifiersMustBeUnique, exception_message end @nodes << node end
active()
click to toggle source
# File lib/objects/node/resources/base.rb, line 77 def active @nodes - @disabled_resources end
clear!()
click to toggle source
# File lib/objects/node/resources/base.rb, line 31 def clear! @disabled_resources = [] end
Also aliased as: enable!
disable(identifier)
click to toggle source
# File lib/objects/node/resources/base.rb, line 58 def disable(identifier) resource = for_identifier(identifier) raise Bcome::Exception::NoNodeNamedByIdentifier, identifier unless resource @disabled_resources << resource unless @disabled_resources.include?(resource) end
disable!()
click to toggle source
# File lib/objects/node/resources/base.rb, line 54 def disable! @disabled_resources = @nodes end
do_disable(identifier)
click to toggle source
# File lib/objects/node/resources/base.rb, line 36 def do_disable(identifier) if identifier.is_a?(Array) identifier.each { |id| disable(id) } else disable(identifier) end nil end
do_enable(identifier)
click to toggle source
# File lib/objects/node/resources/base.rb, line 45 def do_enable(identifier) if identifier.is_a?(Array) identifier.each { |id| enable(id) } else enable(identifier) end nil end
each() { |node| ... }
click to toggle source
# File lib/objects/node/resources/base.rb, line 14 def each @nodes.each { |node| yield(node) } end
empty?()
click to toggle source
# File lib/objects/node/resources/base.rb, line 90 def empty? @nodes.empty? end
enable(identifier)
click to toggle source
# File lib/objects/node/resources/base.rb, line 65 def enable(identifier) resource = for_identifier(identifier) raise Bcome::Exception::NoNodeNamedByIdentifier, identifier unless resource @disabled_resources -= [resource] end
first()
click to toggle source
# File lib/objects/node/resources/base.rb, line 102 def first @nodes.first end
for_identifier(identifier)
click to toggle source
# File lib/objects/node/resources/base.rb, line 85 def for_identifier(identifier) resource = @nodes.select { |node| node.identifier == identifier }.last resource end
has_active_nodes?()
click to toggle source
# File lib/objects/node/resources/base.rb, line 94 def has_active_nodes? active.any? end
is_active_resource?(resource)
click to toggle source
# File lib/objects/node/resources/base.rb, line 81 def is_active_resource?(resource) active.include?(resource) end
should_rename_initial_duplicate?()
click to toggle source
# File lib/objects/node/resources/base.rb, line 27 def should_rename_initial_duplicate? false end
size()
click to toggle source
# File lib/objects/node/resources/base.rb, line 98 def size @nodes.size end