Class: FipExtractor::Request
- Inherits:
-
Object
- Object
- FipExtractor::Request
- Defined in:
- lib/fipextractor/request.rb
Direct Known Subclasses
Constant Summary collapse
- HOST =
"veiculos.fipe.org.br".freeze
- API =
"api/veiculos".freeze
Instance Method Summary collapse
- #base_url ⇒ Object
- #call ⇒ Object
- #params ⇒ Object
- #request ⇒ Object
- #resource ⇒ Object
- #response_class ⇒ Object
- #route ⇒ Object
Instance Method Details
#base_url ⇒ Object
28 29 30 |
# File 'lib/fipextractor/request.rb', line 28 def base_url "https://#{HOST}/#{API}" end |
#call ⇒ Object
12 13 14 15 16 |
# File 'lib/fipextractor/request.rb', line 12 def call response_class.new(request).tap do |response| raise ResourceNotFoundError if response.error? end end |
#params ⇒ Object
40 41 42 |
# File 'lib/fipextractor/request.rb', line 40 def params {} end |
#request ⇒ Object
22 23 24 25 26 |
# File 'lib/fipextractor/request.rb', line 22 def request Faraday.new(url: resource, headers: headers).send(:post) do |request| request.body = params end end |
#resource ⇒ Object
36 37 38 |
# File 'lib/fipextractor/request.rb', line 36 def resource "#{base_url}/#{route}" end |
#response_class ⇒ Object
18 19 20 |
# File 'lib/fipextractor/request.rb', line 18 def response_class Object.const_get("#{self.class}Response") end |
#route ⇒ Object
32 33 34 |
# File 'lib/fipextractor/request.rb', line 32 def route raise RouteNotFoundError end |