Class: Nodes
Defined Under Namespace
Classes: MemberInfo, NodeInfo
Instance Method Summary
collapse
Constructor Details
#initialize(filename = nil) ⇒ Nodes
Returns a new instance of Nodes.
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'ext/internal/node/nodes.rb', line 41
def initialize(filename = nil)
if not filename then
dir = File.dirname(__FILE__)
filename = File.join(dir, 'nodes.yaml')
end
nodes = File.open(filename) { |io| YAML.load(io) }
@nodes = {}
nodes.each do |name, node|
members = {}
(node['members'] || {}).each do |member_name, member|
member ||= {}
members[member_name] = MemberInfo.new(
member['doc'],
member['type'])
end
version_range = NodeVersionRange.new(node['version'])
@nodes[name] = NodeInfo.new(
name.gsub(/\(.*\)/, ''),
node['doc'],
members,
version_range)
end
end
|
Instance Method Details
71
72
73
|
# File 'ext/internal/node/nodes.rb', line 71
def [](name)
@nodes[name]
end
|
#each(&block) ⇒ Object
67
68
69
|
# File 'ext/internal/node/nodes.rb', line 67
def each(&block)
@nodes.sort.each(&block)
end
|
#include?(name) ⇒ Boolean
75
76
77
|
# File 'ext/internal/node/nodes.rb', line 75
def include?(name)
@nodes.include?(name)
end
|