class Promotexter::Report

report class

Attributes

after[RW]
before[RW]
category_id[RW]
from[RW]
reference_id[RW]
request_id[RW]
to[RW]
transaction_id[RW]

Public Class Methods

balance(options={}) click to toggle source
# File lib/promotexter/report.rb, line 43
def self.balance(options={})
  new(options).balance
end
new(options={}) click to toggle source
# File lib/promotexter/report.rb, line 7
def initialize(options={})
  @api_key        = options[:api_key]
  @api_secret     = options[:api_secret]
end
sms_transactions(options={}) click to toggle source
# File lib/promotexter/report.rb, line 30
def self.sms_transactions(options={})
  new(options).sms_transactions(options)
end

Public Instance Methods

balance() click to toggle source
# File lib/promotexter/report.rb, line 34
def balance
  endpoint = API_HOST + '/api/account/balance'
  uri       = URI(endpoint)
  uri.query = request_params.to_query

  request = Net::HTTP.get_response(uri)
  Promotexter::ResponseParser.new(request.body).parse
end
sms_transactions(filters={}) click to toggle source
# File lib/promotexter/report.rb, line 12
def sms_transactions(filters={})
  @after          = filters[:after]
  @before         = filters[:before]
  @transaction_id = filters[:transaction_id]
  @reference_id   = filters[:reference_id]
  @category_id    = filters[:category_id]
  @request_id     = filters[:request_id]
  @from           = filters[:from]
  @to             = filters[:to]

  endpoint  = API_HOST + '/api/sms'
  uri       = URI(endpoint)
  uri.query = request_params.to_query

  request   = Net::HTTP.get_response(uri)
  Promotexter::ResponseParser.new(request.body).parse
end

Private Instance Methods

request_params() click to toggle source
# File lib/promotexter/report.rb, line 49
def request_params
  reset_uri_params
  uri_params[:apiKey]                  = api_key
  uri_params[:apiSecret]               = api_secret
  uri_params[:filter]                  = {}
  uri_params[:filter][:dateCreatedGt]  = after unless after.blank?
  uri_params[:filter][:dateCreatedLt]  = before unless before.blank?
  uri_params[:filter][:transactionId]  = transaction_id unless transaction_id.blank?
  uri_params[:filter][:referenceId]    = reference_id unless reference_id.blank?
  uri_params[:filter][:categoryId]     = category_id unless category_id.blank?
  uri_params[:filter][:requestId]      = request_id unless request_id.blank?
  uri_params[:filter][:from]           = from unless from.blank?
  uri_params[:filter][:to]             = to unless to.blank?
  uri_params
end