Class: Potter::Request
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Potter::Request
- Includes:
- Caching, Record
- Defined in:
- lib/potter/request.rb
Class Method Summary collapse
- .header(headers) ⇒ Object
- .inherited(subclass) ⇒ Object
- .param(params) ⇒ Object
- .response! ⇒ Object
- .root(root) ⇒ Object
Instance Method Summary collapse
- #body_for_request ⇒ Object
- #header(name) ⇒ Object
- #query ⇒ Object
- #request_class ⇒ Object
- #uri ⇒ Object
- #url ⇒ Object
Class Method Details
.header(headers) ⇒ Object
41 42 43 |
# File 'lib/potter/request.rb', line 41 def self.header(headers) default_scope -> { create_with(headers:) } end |
.inherited(subclass) ⇒ Object
49 50 51 52 |
# File 'lib/potter/request.rb', line 49 def self.inherited(subclass) super subclass.belongs_to :response, optional: true end |
.param(params) ⇒ Object
45 46 47 |
# File 'lib/potter/request.rb', line 45 def self.param(params) default_scope -> { create_with(params:) } end |
.response! ⇒ Object
35 |
# File 'lib/potter/request.rb', line 35 def self.response! = sending.create!.response |
Instance Method Details
#body_for_request ⇒ Object
60 |
# File 'lib/potter/request.rb', line 60 def body_for_request = body_for_database |
#header(name) ⇒ Object
54 |
# File 'lib/potter/request.rb', line 54 def header(name) = self[:headers][name.to_s.downcase.gsub(/_/, "-")] |
#query ⇒ Object
56 |
# File 'lib/potter/request.rb', line 56 def query = URI.encode_www_form(params) |
#request_class ⇒ Object
61 |
# File 'lib/potter/request.rb', line 61 def request_class = Net::HTTP.const_get(http_method.capitalize) |
#uri ⇒ Object
58 |
# File 'lib/potter/request.rb', line 58 def uri = URI(url).tap { _1.query = query } |
#url ⇒ Object
57 |
# File 'lib/potter/request.rb', line 57 def url = root + path |