Class: Teamtailor::Request
- Inherits:
-
Object
- Object
- Teamtailor::Request
- Defined in:
- lib/teamtailor/request.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(base_url:, api_token:, api_version:, path:, params: {}, body: {}, method: :get) ⇒ Request
constructor
A new instance of Request.
Constructor Details
#initialize(base_url:, api_token:, api_version:, path:, params: {}, body: {}, method: :get) ⇒ Request
8 9 10 11 12 13 14 15 16 |
# File 'lib/teamtailor/request.rb', line 8 def initialize(base_url:, api_token:, api_version:, path:, params: {}, body: {}, method: :get) @base_url = base_url @api_token = api_token @api_version = api_version @path = path @params = params @method = method @body = body end |
Instance Method Details
#call ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/teamtailor/request.rb', line 18 def call request = Typhoeus::Request.new( "#{base_url}#{path}", method: method, params: params, headers: request_headers, body: body.to_json ) response = request.run if response.code == 200 Teamtailor::PageResult.new response.body elsif response.code == 201 Teamtailor::Parser.parse(JSON.parse(response.body)).first else raise Teamtailor::Error.from_response( body: response.body, status: response.code ) end end |