Sha256: 312a779ad5e302d3bce875f485c9e36db1d6f69023dda73f22b9905e75f0594d

Contents?: true

Size: 664 Bytes

Versions: 2

Compression:

Stored size: 664 Bytes

Contents

module Cmap; class PropositionsToGraph

  attr_reader :propositions_path

  def initialize(propositions_path)
    @propositions_path = propositions_path
  end

  def graph
    DirectedGraph::Graph.new(edges)
  end

  private

  def edges
    @edges ||= propositions.inject([]) do |memo, e|
      origin_vertex, value, destination_vertex = e
      memo << DirectedGraph::Edge.new(origin_vertex: origin_vertex, destination_vertex: destination_vertex, value: value)
      memo
    end
  end

  def propositions
    csv_path = File.expand_path(propositions_path, File.dirname(__FILE__))
    CSV.read(csv_path, { :col_sep => "\t", :quote_char => '"' })
  end

end; end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cmap-0.4.0 lib/cmap/propositions_to_graph.rb
cmap-0.3.0 lib/cmap/propositions_to_graph.rb