class TimetrapHarvest::NetworkClient

Attributes

email[R]
password[R]
subdomain[R]

Public Class Methods

new(config) click to toggle source
# File lib/timetrap_harvest/network_client.rb, line 8
def initialize(config)
  @email     = config.email
  @password  = config.password
  @subdomain = config.subdomain
end

Public Instance Methods

harvest_add_uri() click to toggle source
# File lib/timetrap_harvest/network_client.rb, line 26
def harvest_add_uri
  URI("https://#{subdomain}.harvestapp.com/daily/add")
end
post(payload) click to toggle source
# File lib/timetrap_harvest/network_client.rb, line 14
def post(payload)
  req = Net::HTTP::Post.new(harvest_add_uri.request_uri)
  req.basic_auth(email, password)
  req.body            = payload.to_json
  req['Content-Type'] = 'application/json'
  req['Accept']       = 'application/json'

  res = Net::HTTP.start(harvest_add_uri.hostname, harvest_add_uri.port, use_ssl: true) do |http|
    http.request(req)
  end
end