Sha256: aa5635fe929492ce9a424691f98e17bb3f3100756cd236dcf25e9553980b32cb
Contents?: true
Size: 1.24 KB
Versions: 5
Compression:
Stored size: 1.24 KB
Contents
module Troo module API class Request class << self # @param [Symbol] # @param [String] # @param [Hash] # @return [Response, ErrorResponse] def make(verb, uri, query = {}) new(verb, uri, query).make end end # @param [Symbol] # @param [String] # @param [Hash] # @return [Troo::API::Request] def initialize(verb, uri, query = {}) @verb, @uri, @query = verb, uri, query end # @return [Response, ErrorResponse] def make @request ||= request rescue RestClient::Exception => e ErrorResponse.new(body: e.http_body, code: e.http_code) rescue SocketError, Errno::ECONNREFUSED ErrorResponse.new(body: 'Cannot reach Trello.', code: 0) end private attr_reader :query, :uri, :verb def request RestClient::Request.execute(headers: Headers.build!(uri), payload: query, timeout: 10, method: verb, url: uri) do |response| Responder.build(body: response.body, code: response.code) end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
troo-0.0.15 | lib/troo/api/request.rb |
troo-0.0.14 | lib/troo/api/request.rb |
troo-0.0.13 | lib/troo/api/request.rb |
troo-0.0.12 | lib/troo/api/request.rb |
troo-0.0.11 | lib/troo/api/request.rb |