class Bosh::Clouds::Dummy::InputsRecorder
Public Class Methods
new(base_dir, logger)
click to toggle source
# File lib/cloud/dummy.rb, line 581 def initialize(base_dir, logger) @cpi_inputs_dir = File.join(base_dir, 'cpi_inputs') @logger = logger end
Public Instance Methods
ordered_file_path()
click to toggle source
# File lib/cloud/dummy.rb, line 610 def ordered_file_path File.join(@cpi_inputs_dir, 'all_requests') end
read(method_name)
click to toggle source
# File lib/cloud/dummy.rb, line 593 def read(method_name) @logger.info("Reading input for #{method_name}") read_all.select do |invocation| invocation.method_name == method_name end end
read_all()
click to toggle source
# File lib/cloud/dummy.rb, line 600 def read_all @logger.info("Reading all inputs: #{File.read(ordered_file_path)}") result = [] File.read(ordered_file_path).split("\n").each do |request| data = JSON.parse(request) result << CpiInvocation.new(data['method_name'], data['inputs']) end result end
record(method, args)
click to toggle source
# File lib/cloud/dummy.rb, line 586 def record(method, args) FileUtils.mkdir_p(@cpi_inputs_dir) data = {method_name: method, inputs: args} @logger.info("Saving input for #{method} #{data} #{ordered_file_path}") File.open(ordered_file_path, 'a') { |f| f.puts(JSON.dump(data)) } end