class Skipio
Public Class Methods
new(options)
click to toggle source
# File lib/skipio.rb, line 8 def initialize(options) @token = options[:token] @api_server = options[:api_server] || :dev end
Public Instance Methods
api_server()
click to toggle source
# File lib/skipio.rb, line 58 def api_server if @api_server == :prod 'https://app.skipio.com' elsif :dev 'https://stage.skipio.com' end end
contact_list(params = nil)
click to toggle source
params = { page: 1, per: 10 }
# File lib/skipio.rb, line 14 def contact_list(params = nil) page_parameters = params || { page: 1, per: 10 } url = 'v2/contacts' response = process_by_url(url, :get, page_parameters) JSON.parse(response) end
find_contact(contact_id)
click to toggle source
contact_id = Contact#id
# File lib/skipio.rb, line 22 def find_contact(contact_id) url = "/v2/contacts/#{contact_id}" response = process_by_url(url, :get) JSON.parse(response) end
process_by_url(url, action, options = {})
click to toggle source
action = :get / :post / :put url = ‘v1/contacts’ options = { params: { Hash: parameters }, json: { Hash: json } }
# File lib/skipio.rb, line 46 def process_by_url(url, action, options = {}) uri = URI.parse("#{api_server}/api/#{url}?token=#{@token}&#{options[:params]}") if action == :get response = Net::HTTP.get(uri) elsif action == :post json_data = options[:json].to_json response = create_by_url(uri, json_data) end response end
request_parameters(request_parameters)
click to toggle source
# File lib/skipio.rb, line 37 def request_parameters(request_parameters) uri = Addressable::URI.new uri.query_values = request_parameters uri.query end
send_message(params = {})
click to toggle source
params = { recipients: ‘Comma Separated User UUID’, message: ‘body message’ }
# File lib/skipio.rb, line 29 def send_message(params = {}) url = 'v2/messages' json_data = build_json_message_data(params) options = { json: json_data } response = process_by_url(url, :post, options) JSON.parse(response.body) end
Private Instance Methods
build_json_message_data(params)
click to toggle source
# File lib/skipio.rb, line 76 def build_json_message_data(params) { "recipients": [ params[:recipients] ], "message": { "body": params[:message] } } end
create_by_url(uri, json_data)
click to toggle source
# File lib/skipio.rb, line 68 def create_by_url(uri, json_data) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Post.new(uri.request_uri, {'Content-Type' => 'application/json'}) request.set_form_data(JSON.parse(json_data)) http.request(request) end