class Komtet::Transport
Public Class Methods
new(api_url, shop_id, signature_key, queue_id=nil)
click to toggle source
# File lib/komtet/transport.rb, line 25 def initialize(api_url, shop_id, signature_key, queue_id=nil) @api_url = api_url @authorization = shop_id @signature_key = signature_key @queue_id = queue_id end
Public Instance Methods
post_task(content, queue_id=@queue_id)
click to toggle source
# File lib/komtet/transport.rb, line 43 def post_task(content, queue_id=@queue_id) raise ArgumentError, "queue_id is not integer" unless queue_id.is_a?(Integer) res = transport.post("queues/#{queue_id}/task") raise "non success: #{res.code}" unless res.success? res.body end
task_result(task_id)
click to toggle source
# File lib/komtet/transport.rb, line 50 def task_result(task_id) res = transport.get("tasks/#{task_id}") raise "non success: #{res.code}" unless res.success? res.body end
transport()
click to toggle source
# File lib/komtet/transport.rb, line 32 def transport @transport ||= Faraday.new(url: @api_url) do |conn| conn.headers['User-Agent'] = "KomtetRuby/#{Komtet::VERSION}" conn.headers['Accept'] = "application/json" conn.request(:json) conn.use(RequestSignatureMiddleware, @authorization, @signature_key) conn.response :json, content_type: /\bjson$/ conn.adapter(Faraday.default_adapter) end end