Class: Archaeo::SaveResult
- Inherits:
-
Object
- Object
- Archaeo::SaveResult
- Defined in:
- lib/archaeo/save_result.rb
Overview
Model representing the outcome of a SavePageNow request.
Contains the resulting archive URL, timestamp, whether the page was already cached, and response metadata.
Instance Attribute Summary collapse
-
#archive_url ⇒ Object
readonly
Returns the value of attribute archive_url.
-
#response_headers ⇒ Object
readonly
Returns the value of attribute response_headers.
-
#response_url ⇒ Object
readonly
Returns the value of attribute response_url.
-
#status_code ⇒ Object
readonly
Returns the value of attribute status_code.
-
#timestamp ⇒ Object
readonly
Returns the value of attribute timestamp.
-
#url ⇒ Object
readonly
Returns the value of attribute url.
Instance Method Summary collapse
- #as_json ⇒ Object
- #cached? ⇒ Boolean
-
#initialize(url:, archive_url:, timestamp:, cached:, status_code: nil, response_url: nil, response_headers: nil) ⇒ SaveResult
constructor
A new instance of SaveResult.
- #inspect ⇒ Object
- #success? ⇒ Boolean
- #to_h ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(url:, archive_url:, timestamp:, cached:, status_code: nil, response_url: nil, response_headers: nil) ⇒ SaveResult
Returns a new instance of SaveResult.
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/archaeo/save_result.rb', line 12 def initialize(url:, archive_url:, timestamp:, cached:, status_code: nil, response_url: nil, response_headers: nil) @url = url @archive_url = archive_url @timestamp = ? Timestamp.coerce() : nil @cached = cached @status_code = status_code @response_url = response_url @response_headers = response_headers end |
Instance Attribute Details
#archive_url ⇒ Object (readonly)
Returns the value of attribute archive_url.
9 10 11 |
# File 'lib/archaeo/save_result.rb', line 9 def archive_url @archive_url end |
#response_headers ⇒ Object (readonly)
Returns the value of attribute response_headers.
9 10 11 |
# File 'lib/archaeo/save_result.rb', line 9 def response_headers @response_headers end |
#response_url ⇒ Object (readonly)
Returns the value of attribute response_url.
9 10 11 |
# File 'lib/archaeo/save_result.rb', line 9 def response_url @response_url end |
#status_code ⇒ Object (readonly)
Returns the value of attribute status_code.
9 10 11 |
# File 'lib/archaeo/save_result.rb', line 9 def status_code @status_code end |
#timestamp ⇒ Object (readonly)
Returns the value of attribute timestamp.
9 10 11 |
# File 'lib/archaeo/save_result.rb', line 9 def @timestamp end |
#url ⇒ Object (readonly)
Returns the value of attribute url.
9 10 11 |
# File 'lib/archaeo/save_result.rb', line 9 def url @url end |
Instance Method Details
#as_json ⇒ Object
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/archaeo/save_result.rb', line 43 def as_json(*) { url: @url, archive_url: @archive_url, timestamp: @timestamp.to_s, cached: @cached, status_code: @status_code, response_url: @response_url, } end |
#cached? ⇒ Boolean
24 25 26 |
# File 'lib/archaeo/save_result.rb', line 24 def cached? @cached end |
#inspect ⇒ Object
59 60 61 |
# File 'lib/archaeo/save_result.rb', line 59 def inspect "#<#{self.class.name} #{@url} cached=#{@cached}>" end |
#success? ⇒ Boolean
28 29 30 |
# File 'lib/archaeo/save_result.rb', line 28 def success? !@archive_url.nil? end |
#to_h ⇒ Object
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/archaeo/save_result.rb', line 32 def to_h { url: @url, archive_url: @archive_url, timestamp: @timestamp, cached: @cached, status_code: @status_code, response_url: @response_url, } end |
#to_s ⇒ Object
54 55 56 57 |
# File 'lib/archaeo/save_result.rb', line 54 def to_s label = @cached ? "Cached" : "Saved" "#{label}: #{@archive_url}" end |