Class: SmsRu::SendResult

Inherits:
Object
  • Object
show all
Includes:
MessageCollection
Defined in:
lib/sms_ru/data.rb

Overview

Result of SmsRu#deliver. ‘messages` holds one Sms per recipient; individual recipients may have failed even when the overall request succeeded (use #ok? or #failed to tell).

Instance Attribute Summary collapse

Class Method Summary collapse

Methods included from MessageCollection

#failed, #ok, #ok?

Instance Attribute Details

#balanceFloat (readonly)

Returns the account balance after the request.

Returns:

  • (Float)

    the account balance after the request



56
57
58
59
60
61
62
63
64
65
# File 'lib/sms_ru/data.rb', line 56

class SendResult < Data.define(:balance, :messages)
  include MessageCollection

  # @param hash [Hash] the parsed /sms/send response
  # @return [SmsRu::SendResult]
  def self.build(hash)
    messages = Coerce.records(hash["sms"]).map { |phone, sms| Sms.build(phone, sms) }
    new(balance: Coerce.float(hash["balance"]), messages: messages)
  end
end

#messagesArray<SmsRu::Sms> (readonly)

Returns one entry per recipient.

Returns:



56
57
58
59
60
61
62
63
64
65
# File 'lib/sms_ru/data.rb', line 56

class SendResult < Data.define(:balance, :messages)
  include MessageCollection

  # @param hash [Hash] the parsed /sms/send response
  # @return [SmsRu::SendResult]
  def self.build(hash)
    messages = Coerce.records(hash["sms"]).map { |phone, sms| Sms.build(phone, sms) }
    new(balance: Coerce.float(hash["balance"]), messages: messages)
  end
end

Class Method Details

.build(hash) ⇒ SmsRu::SendResult

Parameters:

  • hash (Hash)

    the parsed /sms/send response

Returns:



61
62
63
64
# File 'lib/sms_ru/data.rb', line 61

def self.build(hash)
  messages = Coerce.records(hash["sms"]).map { |phone, sms| Sms.build(phone, sms) }
  new(balance: Coerce.float(hash["balance"]), messages: messages)
end