Sha256: 1796877c8fad7fa6dd2e8c4d3c12464bd32cfacc907d1f8f1102a2a3fb4d1eb3
Contents?: true
Size: 1002 Bytes
Versions: 4
Compression:
Stored size: 1002 Bytes
Contents
# frozen_string_literal: true require 'faraday' module Juknife module Request # Juknife::Request::Runner object is a runner for request DSL. class Runner include DSL attr_reader :block, :params def initialize(&block) @block = block instance_eval(&@block) end def run(params = {}) @params = params source end def source @source ||= response.body end private def response @response ||= rack_builder.build_response(connection, request) end def connection @connection ||= Faraday.new(url_builder.call, params: query_builder.call) end def rack_builder @builder ||= Faraday::RackBuilder.new end 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 end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
juknife-0.2.0 | lib/juknife/request/runner.rb |
juknife-0.1.3 | lib/juknife/request/runner.rb |
juknife-0.1.2 | lib/juknife/request/runner.rb |
juknife-0.1.1 | lib/juknife/request/runner.rb |