Class: Sendly::NumberRelease

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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

#rawHash (readonly)

Returns The raw parsed response.

Returns:

  • (Hash)

    The raw parsed response



185
186
187
# File 'lib/sendly/numbers_resource.rb', line 185

def raw
  @raw
end

#scheduledBoolean (readonly)

Returns true when the release was scheduled for the period end.

Returns:

  • (Boolean)

    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_atString? (readonly)

Returns ISO-8601 timestamp the scheduled release takes effect.

Returns:

  • (String, nil)

    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

#successBoolean (readonly)

Returns true on success.

Returns:

  • (Boolean)

    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).

Returns:

  • (Boolean)

    Whether the release was scheduled (vs immediate)



195
196
197
# File 'lib/sendly/numbers_resource.rb', line 195

def scheduled?
  scheduled
end

#to_hObject



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