Class: Acme::Client::Resources::RenewalInfo
- Inherits:
-
Object
- Object
- Acme::Client::Resources::RenewalInfo
- Defined in:
- lib/acme/client/resources/renewal_info.rb
Instance Attribute Summary collapse
-
#explanation_url ⇒ Object
readonly
Returns the value of attribute explanation_url.
-
#retry_after ⇒ Object
readonly
Returns the value of attribute retry_after.
-
#suggested_window ⇒ Object
readonly
Returns the value of attribute suggested_window.
Instance Method Summary collapse
-
#initialize(client, **arguments) ⇒ RenewalInfo
constructor
A new instance of RenewalInfo.
- #suggested_renewal_time ⇒ Object
- #suggested_window_end ⇒ Object
- #suggested_window_start ⇒ Object
- #to_h ⇒ Object
Constructor Details
#initialize(client, **arguments) ⇒ RenewalInfo
Returns a new instance of RenewalInfo.
6 7 8 9 |
# File 'lib/acme/client/resources/renewal_info.rb', line 6 def initialize(client, **arguments) @client = client assign_attributes(**arguments) end |
Instance Attribute Details
#explanation_url ⇒ Object (readonly)
Returns the value of attribute explanation_url.
4 5 6 |
# File 'lib/acme/client/resources/renewal_info.rb', line 4 def explanation_url @explanation_url end |
#retry_after ⇒ Object (readonly)
Returns the value of attribute retry_after.
4 5 6 |
# File 'lib/acme/client/resources/renewal_info.rb', line 4 def retry_after @retry_after end |
#suggested_window ⇒ Object (readonly)
Returns the value of attribute suggested_window.
4 5 6 |
# File 'lib/acme/client/resources/renewal_info.rb', line 4 def suggested_window @suggested_window end |
Instance Method Details
#suggested_renewal_time ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/acme/client/resources/renewal_info.rb', line 19 def suggested_renewal_time return nil unless suggested_window_start && suggested_window_end start_time = DateTime.rfc3339(suggested_window_start).to_time end_time = DateTime.rfc3339(suggested_window_end).to_time window_duration = end_time - start_time random_offset = rand(0.0..window_duration) selected_time = start_time + random_offset selected_time > Time.now ? selected_time : Time.now end |
#suggested_window_end ⇒ Object
15 16 17 |
# File 'lib/acme/client/resources/renewal_info.rb', line 15 def suggested_window_end suggested_window&.fetch('end', nil) end |
#suggested_window_start ⇒ Object
11 12 13 |
# File 'lib/acme/client/resources/renewal_info.rb', line 11 def suggested_window_start suggested_window&.fetch('start', nil) end |
#to_h ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/acme/client/resources/renewal_info.rb', line 32 def to_h { suggested_window: suggested_window, explanation_url: explanation_url, retry_after: retry_after } end |