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