module ExistClient
Constants
- REPORTERS
- VERSION
Public Class Methods
log(message, indent: 0)
click to toggle source
# File lib/exist_client.rb, line 66 def log(message, indent: 0) logger.info("#{"\t" * indent}#{message}") end
logger()
click to toggle source
# File lib/exist_client.rb, line 70 def logger @logger ||= Logger.new(STDOUT).tap do |log| log.formatter = lambda do |severity, datetime, _, msg| format("[%s] %5s: %s\n", datetime.strftime("%F %T"), severity, msg) end end end
post(values)
click to toggle source
# File lib/exist_client.rb, line 46 def post(values) log values.to_json, indent: 1 headers = { "Authorization" => "Bearer #{ENV.fetch("EXIST_API_KEY")}", "Content-Type" => "application/json" } response = HTTParty.post("https://exist.io/api/1/attributes/update/", body: values.to_json, headers: headers) if response.success? log "Success!", indent: 1 else log "Error!", indent: 1 log response.code, indent: 1 log response.body, indent: 1 exit 1 end end
report()
click to toggle source
# File lib/exist_client.rb, line 24 def report log "Starting report" # TODO: Pass in optional data path # Config.set_data_path() last_report_date = Date.parse(Config.last_report_date_file.read.strip) report_period = ReportPeriod.new(last_report_date) unless report_period.valid? log "Report period is not valid" exit 1 end Config.enabled_reporters.each do |reporter| reporter.new(report_period).report end Config.last_report_date_file.write(logical_date(Time.now) - 1) log "Done" end
setup()
click to toggle source
# File lib/exist_client.rb, line 18 def setup puts "Installing ExistClient..." Config.setup # TODO: Pass in optional data path REPORTERS.each(&:setup) end