class Pantograph::LaneList
Public Class Methods
generate(path)
click to toggle source
# File pantograph/lib/pantograph/lane_list.rb, line 11 def self.generate(path) ff = Pantograph::PantFile.new(path) lanes = ff.runner.lanes output = "" all_keys = lanes.keys.reject(&:nil?) all_keys.unshift(nil) # because we want root elements on top. always! They have key nil all_keys.each do |platform| next if (lanes[platform] || []).count == 0 plat_text = platform plat_text = "general" if platform.to_s.empty? output += "\n--------- #{plat_text}---------\n".yellow value = lanes[platform] next unless value value.each do |lane_name, lane| next if lane.is_private output += "----- pantograph #{lane.pretty_name}".green if lane.description.count > 0 output += "\n" + lane.description.join("\n") + "\n\n" else output += "\n\n" end end end output end
generate_json(path)
click to toggle source
Returns a hash
# File pantograph/lib/pantograph/lane_list.rb, line 50 def self.generate_json(path) output = {} return output if path.nil? ff = Pantograph::PantFile.new(path) all_keys = ff.runner.lanes.keys all_keys.each do |platform| next if (ff.runner.lanes[platform] || []).count == 0 output[platform] ||= {} value = ff.runner.lanes[platform] next unless value value.each do |lane_name, lane| next if lane.is_private output[platform][lane_name] = { description: lane.description.join("\n") } end end return output end
output(path)
click to toggle source
Print out the result of `generate`
# File pantograph/lib/pantograph/lane_list.rb, line 5 def self.output(path) puts(generate(path)) puts("Execute using `pantograph [lane_name]`".yellow) end
output_json(path)
click to toggle source
# File pantograph/lib/pantograph/lane_list.rb, line 45 def self.output_json(path) puts(JSON.pretty_generate(self.generate_json(path))) end