Sha256: d76289646bcd6eccc5b252f4f026aec29e2816665d0d1749725bddfb4de0f253

Contents?: true

Size: 1.18 KB

Versions: 13

Compression:

Stored size: 1.18 KB

Contents

require 'uri'
require 'httpi'

module Smess
  class Smsglobal < HttpBase

    def deliver
      request.url = url
      request.body = params

      http_post request
    end

    attr_accessor :username, :password, :sender_id
    def validate_config
      @username = config.fetch(:username)
      @password = config.fetch(:password)
      @sender_id = config.fetch(:sender_id, Smess.config.default_sender_id)
    end

    private

    def url
      "https://www.smsglobal.com/http-api.php"
    end

    def params
      @params ||= {
        action: "sendsms",
        user: username,
        password: password,
        from: from,
        to: sms.to,
        text: sms.message.strip_nongsm_chars,
        maxsplit: "3"
      }
    end

    def normal_result(response)
      first_response = response.body.split(/\r\n/).first.split(";")
      response_code = first_response.first.split(':').last.to_i
      message_id = first_response.last.split('SMSGlobalMsgID:').last
      # Successful response
      {
        message_id: message_id,
        response_code: response_code.to_s,
        response: response.body,
        destination_address: sms.to,
        data: result_data
      }
    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
smess-2.3.0 lib/smess/outputs/smsglobal.rb
smess-2.2.1 lib/smess/outputs/smsglobal.rb
smess-2.2.0 lib/smess/outputs/smsglobal.rb
smess-2.1.0 lib/smess/outputs/smsglobal.rb
smess-2.0.8 lib/smess/outputs/smsglobal.rb
smess-2.0.7 lib/smess/outputs/smsglobal.rb
smess-2.0.6 lib/smess/outputs/smsglobal.rb
smess-2.0.5 lib/smess/outputs/smsglobal.rb
smess-2.0.4 lib/smess/outputs/smsglobal.rb
smess-2.0.3 lib/smess/outputs/smsglobal.rb
smess-2.0.2 lib/smess/outputs/smsglobal.rb
smess-2.0.1 lib/smess/outputs/smsglobal.rb
smess-2.0 lib/smess/outputs/smsglobal.rb