class IletiMerkezi::Sms

Sms

Constants

PATH

Attributes

messages[R]
send_datetime[R]
sender[R]

Public Class Methods

new(params = {}) click to toggle source
# File lib/ileti_merkezi/actions/sms.rb, line 12
def initialize(params = {})
  @messages      = build_messages(params)
  @send_datetime = params.fetch(:send_datetime, Time.now.strftime('%d/%m/%Y %H:%M'))
  @sender        = params.fetch(:sender, IletiMerkezi.configuration.sender)
end

Public Instance Methods

send() click to toggle source
# File lib/ileti_merkezi/actions/sms.rb, line 18
def send
  request = Request.new(
    path: PATH,
    payload: hash_to_xml(
      sender: sender,
      sendDateTime: send_datetime,
      message: messages.map(&:to_h)
    )
  )
  request.call
end

Private Instance Methods

build_messages(params) click to toggle source
# File lib/ileti_merkezi/actions/sms.rb, line 32
def build_messages(params)
  messages = params.fetch(
    :messages,
    [
      phones: params.fetch(:phones, []),
      text: params.fetch(:text, '')
    ]
  )
  messages.map { |message| Message.new(*message.values_at(:phones, :text)) }
end