class Apt::Spy2::Writer
abstracted puts or json
Public Class Methods
new(format)
click to toggle source
# File lib/apt/spy2/writer.rb, line 10 def initialize(format) raise "Unknown format: #{format}" unless %w[json shell].include?(format) @format = format @complete = [] end
Public Instance Methods
complete(complete)
click to toggle source
# File lib/apt/spy2/writer.rb, line 17 def complete(complete) @complete = complete end
echo(data)
click to toggle source
# File lib/apt/spy2/writer.rb, line 21 def echo(data) if @format == 'json' @complete.push(data) return end print "Mirror: #{data['mirror']} - " case data['status'] when 'up' puts data['status'].upcase.green when 'down' puts data['status'].upcase.red when 'broken' puts data['status'].upcase.yellow else puts "Unknown status: #{data['status']}".white_on_red end end
json?()
click to toggle source
# File lib/apt/spy2/writer.rb, line 41 def json? return true if @format == 'json' false end
to_json(*_args)
click to toggle source
# File lib/apt/spy2/writer.rb, line 47 def to_json(*_args) JSON.generate(@complete) end