class Sticapi::SticapiClient
Attributes
access_token[RW]
client[RW]
expiry[RW]
host[RW]
password[RW]
port[RW]
uid[RW]
urn[RW]
user[RW]
Public Class Methods
new()
click to toggle source
# File lib/sticapi_client.rb, line 30 def initialize configs = YAML.load_file("#{Rails.root}/config/sticapi.yml")[Rails.env] # configs = YAML.load_file("/home/ricardo/dev/sticapi_client/lib/generators/sticapi_client/templates/sticapi.yml")[Rails.env] @host = configs['host'] @port = configs['port'] || 80 @user = configs['user'] @urn = configs['urn'] @password = configs['password'] @access_token = '' @client = '' @uid = '' @expiry = '' get_token end
Public Instance Methods
get_token()
click to toggle source
# File lib/sticapi_client.rb, line 49 def get_token if @access_token.blank? uri = URI.parse("#{self.uri}/auth/sign_in") http = Net::HTTP.new(uri.host, uri.port) request = Net::HTTP::Post.new(uri.request_uri) request['email'] = @user request['password'] = @password response = http.request(request) update_token(response) end end
sticapi_request(route, options = {})
click to toggle source
# File lib/sticapi_client.rb, line 68 def sticapi_request(route, options = {}) kind = options[:kind] || 'post' uri = URI.parse("#{self.uri}#{route}") http = Net::HTTP.new(uri.host, uri.port) request = nil request = Net::HTTP::Post.new(uri.request_uri) if kind == 'post' request = Net::HTTP::Get.new(uri.request_uri) if kind == 'get' request['Content-Type'] = 'application/json' request['access-token'] = access_token request['client'] = client request['uid'] = uid request.body = options.except(:kind).to_json response = http.request(request) update_token(response) JSON.parse(response.body) end
update_token(response)
click to toggle source
# File lib/sticapi_client.rb, line 61 def update_token(response) @access_token = response['access-token'] @client = response['client'] @uid = response['uid'] @expiry = response['expiry'] end
uri()
click to toggle source
# File lib/sticapi_client.rb, line 45 def uri "http://#{@host}:#{@port}#{'/' if @urn}#{@urn}" end