Class: Sendly::NumberRelease
- Inherits:
-
Object
- Object
- Sendly::NumberRelease
- Defined in:
- lib/sendly/numbers_resource.rb
Overview
The result of releasing an owned number via Sendly::NumbersResource#release.
A live paid purchase is cancelled at the end of the paid period — the result
then reports scheduled? true with a scheduled_release_at timestamp.
Everything else is released immediately (+scheduled?+ false, no timestamp).
The raw parsed response is preserved on #raw.
Instance Attribute Summary collapse
-
#raw ⇒ Hash
readonly
The raw parsed response.
-
#scheduled ⇒ Boolean
readonly
True when the release was scheduled for the period end.
-
#scheduled_release_at ⇒ String?
readonly
ISO-8601 timestamp the scheduled release takes effect.
-
#success ⇒ Boolean
readonly
True on success.
Instance Method Summary collapse
-
#initialize(data) ⇒ NumberRelease
constructor
A new instance of NumberRelease.
-
#scheduled? ⇒ Boolean
Whether the release was scheduled (vs immediate).
- #to_h ⇒ Object
Constructor Details
#initialize(data) ⇒ NumberRelease
Returns a new instance of NumberRelease.
187 188 189 190 191 192 |
# File 'lib/sendly/numbers_resource.rb', line 187 def initialize(data) @raw = data @success = data.key?("success") ? data["success"] : true @scheduled = data["scheduled"] || false @scheduled_release_at = data["scheduledReleaseAt"] || data["scheduled_release_at"] end |
Instance Attribute Details
#raw ⇒ Hash (readonly)
Returns The raw parsed response.
185 186 187 |
# File 'lib/sendly/numbers_resource.rb', line 185 def raw @raw end |
#scheduled ⇒ Boolean (readonly)
Returns true when the release was scheduled for the period end.
179 180 181 |
# File 'lib/sendly/numbers_resource.rb', line 179 def scheduled @scheduled end |
#scheduled_release_at ⇒ String? (readonly)
Returns ISO-8601 timestamp the scheduled release takes effect.
182 183 184 |
# File 'lib/sendly/numbers_resource.rb', line 182 def scheduled_release_at @scheduled_release_at end |
#success ⇒ Boolean (readonly)
Returns true on success.
176 177 178 |
# File 'lib/sendly/numbers_resource.rb', line 176 def success @success end |
Instance Method Details
#scheduled? ⇒ Boolean
Returns Whether the release was scheduled (vs immediate).
195 196 197 |
# File 'lib/sendly/numbers_resource.rb', line 195 def scheduled? scheduled end |
#to_h ⇒ Object
199 200 201 202 203 204 |
# File 'lib/sendly/numbers_resource.rb', line 199 def to_h { success: success, scheduled: scheduled, scheduled_release_at: scheduled_release_at }.compact end |