Class: Parser
- Inherits:
-
Object
- Object
- Parser
- Defined in:
- lib/rtl/json_parser.rb
Instance Method Summary collapse
- #gen_edge(json) ⇒ Object
- #gen_edges(json) ⇒ Object
- #gen_graph(json) ⇒ Object
- #gen_node(json) ⇒ Object
- #gen_nodes(json) ⇒ Object
- #parse(filename) ⇒ Object
Instance Method Details
#gen_edge(json) ⇒ Object
42 43 44 45 |
# File 'lib/rtl/json_parser.rb', line 42 def gen_edge json a=json.map{|k,v| {k => @sym[v]}} Edge.new(a.inject(:merge)) end |
#gen_edges(json) ⇒ Object
38 39 40 |
# File 'lib/rtl/json_parser.rb', line 38 def gen_edges json json.map{|j| gen_edge(j)} end |
#gen_graph(json) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rtl/json_parser.rb', line 12 def gen_graph json @sym={} graph=Graph.new json.each do |key,val| case key when "id" graph.id=val when "nodes" graph.nodes=gen_nodes(val) when "edges" graph.edges=gen_edges(val) end end return graph end |
#gen_node(json) ⇒ Object
32 33 34 35 36 |
# File 'lib/rtl/json_parser.rb', line 32 def gen_node json node=Node.new(json) @sym[node.id]=node node end |
#gen_nodes(json) ⇒ Object
28 29 30 |
# File 'lib/rtl/json_parser.rb', line 28 def gen_nodes json json.map{|j| gen_node(j)} end |
#parse(filename) ⇒ Object
6 7 8 9 10 |
# File 'lib/rtl/json_parser.rb', line 6 def parse filename puts "parsing '#{filename}'" json=JSON.parse(IO.read(filename)) gen_graph json end |