class Parser
Public Instance Methods
gen_edge(json)
click to toggle source
# 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)
click to toggle source
# File lib/rtl/json_parser.rb, line 38 def gen_edges json json.map{|j| gen_edge(j)} end
gen_graph(json)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# File lib/rtl/json_parser.rb, line 28 def gen_nodes json json.map{|j| gen_node(j)} end
parse(filename)
click to toggle source
# File lib/rtl/json_parser.rb, line 6 def parse filename puts "parsing '#{filename}'" json=JSON.parse(IO.read(filename)) gen_graph json end