class SpeedyRspec::JsonDependencyManager

Public Class Methods

new(data_writer) click to toggle source
# File lib/speedyrspec/dependency_manager.rb, line 36
def initialize(data_writer)
  @writer = data_writer
end

Public Instance Methods

add_dependency(from, to) click to toggle source
# File lib/speedyrspec/dependency_manager.rb, line 50
def add_dependency(from, to)
  @data[from].add(to)
end
finish() click to toggle source
# File lib/speedyrspec/dependency_manager.rb, line 58
def finish
  @writer.write(to_json)
end
get_dependencies(from) click to toggle source
# File lib/speedyrspec/dependency_manager.rb, line 54
def get_dependencies(from)
  Array(@data[from]) || []
end
load_dependencies() click to toggle source
# File lib/speedyrspec/dependency_manager.rb, line 44
def load_dependencies
  open(SpeedyRspec.trace_file) do |f|
    @data = JSON.parse(f.read)
  end
end
new_dependencies() click to toggle source
# File lib/speedyrspec/dependency_manager.rb, line 40
def new_dependencies
  @data = Hash.new{|h, k| h[k] = Set.new}
end

Private Instance Methods

to_json() click to toggle source
# File lib/speedyrspec/dependency_manager.rb, line 64
def to_json
  JSON.pretty_generate(@data.map{|k,v| [k, Array(v)]}.to_h)
end