class CustomersMailCloud::Transaction
Attributes
server_composition[RW]
Public Class Methods
new(type, client)
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 3 def initialize type, client @client = client @type = type @server_composition = nil @base_url = 'https://api.smtps.jp/transaction/v2/__TYPE__/__ACTION__.json' @params = {} end
Public Instance Methods
date=(date)
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 65 def date= date @params[:date] = date.strftime('%Y-%m-%d') end
email=(address)
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 49 def email= address @params[:email] = address end
end_date=(date)
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 61 def end_date= date @params[:end_date] = date.strftime('%Y-%m-%d') end
hour=(hour)
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 69 def hour= hour if hour < 0 || hour > 23 raise Error.new('hour allows the range from 0 to 23.') end @params[:hour] = hour end
limit=(limit)
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 87 def limit= limit @params[:r] = limit end
list()
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 17 def list params = @params params[:api_user] = @client.api_user params[:api_key] = @client.api_key unless @server_composition raise Error.new('Server Composition is required.') end params[:server_composition] = @server_composition headers = { 'Content-Type': 'application/json', 'Accept': 'application/json' } uri = URI.parse url('list') req = Net::HTTP::Post.new(uri.path) req.body = params.to_json headers.each do |k, v| req[k] = v end http = Net::HTTP.new uri.host, uri.port http.use_ssl = true response = http.request req if response.code == '200' || response.code == '204' return [] if response.body.nil? return JSON.parse(response.body)[@type] else message = JSON.parse(response.body)['errors'].map do |error| "#{error['message']} (#{error['code']})" end.join(" ") raise Error.new message end end
minute=(minute)
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 76 def minute= minute if minute < 0 || minute > 59 raise Error.new('minute allows the range from 0 to 59.') end @params[:minute] = minute end
page=(page)
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 83 def page= page @params[:p] = page end
start_date=(date)
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 57 def start_date= date @params[:start_date] = date.strftime('%Y-%m-%d') end
status=(status)
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 53 def status= status @params[:status] = status end
url(action)
click to toggle source
# File lib/customers_mail_cloud/transaction.rb, line 13 def url action @base_url.gsub('__TYPE__', @type).gsub('__ACTION__', action) end