class Juknife::Request::Runner
Juknife::Request::Runner
object is a runner for request DSL
.
Attributes
block[R]
params[R]
Public Class Methods
new(&block)
click to toggle source
# File lib/juknife/request/runner.rb, line 12 def initialize(&block) @block = block instance_eval(&@block) end
Public Instance Methods
run(params = {})
click to toggle source
# File lib/juknife/request/runner.rb, line 17 def run(params = {}) @params = params source end
source()
click to toggle source
# File lib/juknife/request/runner.rb, line 22 def source @source ||= response.body end
Private Instance Methods
connection()
click to toggle source
# File lib/juknife/request/runner.rb, line 32 def connection @connection ||= Faraday.new(url_builder.call, params: query_builder.call) end
rack_builder()
click to toggle source
# File lib/juknife/request/runner.rb, line 37 def rack_builder @builder ||= Faraday::RackBuilder.new end
request()
click to toggle source
# File lib/juknife/request/runner.rb, line 41 def request @request ||= connection.build_request(http_method) do |req| req.headers['User-Agent'] = user_agent_builder&.call req.body = body_builder&.call end end
response()
click to toggle source
# File lib/juknife/request/runner.rb, line 28 def response @response ||= rack_builder.build_response(connection, request) end