Class: Html2rss::RequestSession::RuntimeInput
- Inherits:
-
Object
- Object
- Html2rss::RequestSession::RuntimeInput
- Defined in:
- lib/html2rss/request_session/runtime_input.rb
Overview
Carries the runtime request inputs needed to build a RequestSession.
Instance Attribute Summary collapse
-
#headers ⇒ Hash
readonly
Normalized request headers.
-
#request ⇒ Hash
readonly
Validated request options for strategies.
-
#request_policy ⇒ RequestService::Policy
readonly
Policy derived from the runtime request inputs.
-
#strategy ⇒ Symbol
readonly
Request strategy to use for the session.
-
#url ⇒ Html2rss::Url
readonly
Initial request URL.
Class Method Summary collapse
-
.from_config(config) ⇒ RuntimeInput
Runtime request inputs derived from the config.
Instance Method Summary collapse
-
#initialize(url:, headers:, request:, strategy:, request_policy:) ⇒ RuntimeInput
constructor
A new instance of RuntimeInput.
Constructor Details
#initialize(url:, headers:, request:, strategy:, request_policy:) ⇒ RuntimeInput
Returns a new instance of RuntimeInput.
27 28 29 30 31 32 33 34 |
# File 'lib/html2rss/request_session/runtime_input.rb', line 27 def initialize(url:, headers:, request:, strategy:, request_policy:) @url = Html2rss::Url.from_absolute(url) @headers = headers.freeze @request = request.freeze @strategy = strategy @request_policy = request_policy freeze end |
Instance Attribute Details
#headers ⇒ Hash (readonly)
Returns normalized request headers.
42 43 44 |
# File 'lib/html2rss/request_session/runtime_input.rb', line 42 def headers @headers end |
#request ⇒ Hash (readonly)
Returns validated request options for strategies.
46 47 48 |
# File 'lib/html2rss/request_session/runtime_input.rb', line 46 def request @request end |
#request_policy ⇒ RequestService::Policy (readonly)
Returns policy derived from the runtime request inputs.
54 55 56 |
# File 'lib/html2rss/request_session/runtime_input.rb', line 54 def request_policy @request_policy end |
#strategy ⇒ Symbol (readonly)
Returns request strategy to use for the session.
50 51 52 |
# File 'lib/html2rss/request_session/runtime_input.rb', line 50 def strategy @strategy end |
#url ⇒ Html2rss::Url (readonly)
Returns initial request URL.
38 39 40 |
# File 'lib/html2rss/request_session/runtime_input.rb', line 38 def url @url end |
Class Method Details
.from_config(config) ⇒ RuntimeInput
Returns runtime request inputs derived from the config.
11 12 13 14 15 16 17 18 19 |
# File 'lib/html2rss/request_session/runtime_input.rb', line 11 def self.from_config(config) new( url: config.url, headers: config.headers, request: config.request, strategy: config.strategy, request_policy: RuntimePolicy.from_config(config) ) end |