class SMSGateway::Contact
Constants
- API_ENDPOINT
Attributes
id[RW]
name[RW]
phone_numbers[RW]
Public Class Methods
all()
click to toggle source
# File lib/smsgateway.rb, line 249 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 << Contact.new(obj['name'], obj['phone_numbers'], obj['id']) end result = converted_objects end result end
find(id)
click to toggle source
# File lib/smsgateway.rb, line 214 def self.find(id) result = nil response = API.get(API_ENDPOINT + '/', id) if response.code == '200' res = JSON.parse(response.body) result = Contact.new(res['name'], res['phone_numbers'], res['id']) end result end
new(name, phone_numbers, id = nil)
click to toggle source
# File lib/smsgateway.rb, line 194 def initialize(name, phone_numbers, id = nil) @id = id @name = name @phone_numbers = phone_numbers end
where(params)
click to toggle source
# File lib/smsgateway.rb, line 225 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: 'name', 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 << Contact.new(obj['name'], obj['phone_numbers'], obj['id']) end result = converted_objects end result end
Public Instance Methods
save()
click to toggle source
# File lib/smsgateway.rb, line 200 def save params = { name: @name, phone_numbers: @phone_numbers }.to_json response = API.post(API_ENDPOINT, params) if response.code == '200' res = JSON.parse(response.body) @id = res[0]['id'] @name = res[0]['name'] @phone_numbers = res[0]['phone_numbers'] result = self end result end
update()
click to toggle source
# File lib/smsgateway.rb, line 265 def update params = { name: @name, phone_numbers: @phone_numbers }.to_json response = API.put(API_ENDPOINT + "/#{@id}", params) if response.code == '200' res = JSON.parse(response.body) @id = res['id'] @name = res['name'] @phone_numbers = res['phone_numbers'] result = self end result end