tap/app/jobs/tab_api_job.rb

32 lines
845 B
Ruby
Raw Normal View History

2015-09-14 15:29:00 +00:00
TabApiJob = Struct.new(:order_id) do
def perform(*args)
order = Order.find_by(id: order_id)
if order && !order.transaction_id
2015-09-14 18:26:16 +00:00
body = {
transaction: {
2015-09-18 11:20:57 +00:00
debtor: order.user.name,
2015-09-14 18:26:16 +00:00
cents: order.price_cents,
message: order.to_sentence,
id_at_client: order.id
}
}
headers = {
"Authorization" => "Token token=#{Rails.application.secrets.tab_api_key}"
}
2015-09-18 11:20:57 +00:00
result = HTTParty.post(File.join(Rails.application.config.api_url, "transactions"), body: body, headers: headers )
2015-09-14 15:29:00 +00:00
order.update_attribute(:transaction_id, JSON.parse(result.body)["id"].to_i)
end
end
2016-02-02 13:42:02 +00:00
def headers
{
"Authorization" => "Token token=#{Rails.application.secrets.tab_api_key}"
}
end
2015-09-14 15:29:00 +00:00
def error(job, exception)
Airbrake.notify(exception)
end
end