class SMSGateway::Message
Constants
- API_ENDPOINT
Attributes
created_at[RW]
device_id[RW]
id[RW]
log[RW]
message[RW]
phone_number[RW]
status[RW]
updated_at[RW]
Public Class Methods
all()
click to toggle source
# File lib/smsgateway.rb, line 95 def self.all result = nil params = { filters: [] }.to_json response = API.post(API_ENDPOINT + 'search', params) if response.code == '200' res = JSON.parse(response.body)['results'] converted_objects = [] res.each do |obj| converted_objects << Message.new(obj['device_id'], obj['phone_number'], obj['message'], obj['id'], obj['status'], obj['created_at'], obj['updated_at'], obj['log']) end result = converted_objects end result end
find(id)
click to toggle source
# File lib/smsgateway.rb, line 111 def self.find(id) result = nil response = API.get(API_ENDPOINT, id) if response.code == '200' res = JSON.parse(response.body) result = Message.new(res['device_id'], res['phone_number'], res['message'], res['id'], res['status'], res['created_at'], res['updated_at'], res['log']) end result end
new(device_id, phone_number, message, id = nil, status = nil, created_at = nil, updated_at = nil, log = nil)
click to toggle source
# File lib/smsgateway.rb, line 18 def initialize(device_id, phone_number, message, id = nil, status = nil, created_at = nil, updated_at = nil, log = nil) @id = id @device_id = device_id @phone_number = phone_number @message = message @status = status @updated_at = updated_at @created_at = created_at @log = log end
where(params)
click to toggle source
# File lib/smsgateway.rb, line 71 def self.where(params) result = nil search_params = [] tokens = params.split('AND') tokens.each do |tkn| tkn = tkn.split('=') params = { field: tkn[0].strip!, operator: '=', value: tkn[1].delete("'").strip!} search_params << params end params = { filters: [ search_params ], order_by: [ { field: 'created_at', direction: 'desc'}, limit: 5, offset: 5] }.to_json response = API.post(API_ENDPOINT + 'search', params) if response.code == '200' res = JSON.parse(response.body)['results'] converted_objects = [] res.each do |obj| converted_objects << Message.new(obj['device_id'], obj['phone_number'], obj['message'], obj['id'], obj['status'], obj['created_at'], obj['updated_at'], obj['log']) end result = converted_objects end result end
Public Instance Methods
cancel()
click to toggle source
# File lib/smsgateway.rb, line 50 def cancel result = nil params = { id: @id }.to_json response = API.post(API_ENDPOINT + 'cancel', params) if response.code == '200' res = JSON.parse(response.body) @id = res[0]['id'] @device_id = res[0]['device_id'] @phone_number = res[0]['phone_number'] @message = res[0]['message'] @status = res[0]['status'] @updated_at = res[0]['updated_at'] @created_at = res[0]['created_at'] @log = res[0]['log'] result = self end result end
send()
click to toggle source
# File lib/smsgateway.rb, line 29 def send result = nil params = { device_id: @device_id, phone_number: @phone_number, message: @message }.to_json response = API.post(API_ENDPOINT + 'send', params) if response.code == '200' res = JSON.parse(response.body) @id = res[0]['id'] @device_id = res[0]['device_id'] @phone_number = res[0]['phone_number'] @message = res[0]['message'] @status = res[0]['status'] @updated_at = res[0]['updated_at'] @created_at = res[0]['created_at'] @log = res[0]['log'] result = self end result end