class Upkey::Chatterly::Client

Attributes

access_key[R]
chatterly_url[R]
conn[R]

Public Class Methods

new(args = {}) click to toggle source
# File lib/upkey/chatterly/client.rb, line 20
def initialize(args = {})
  MissingArgument.alert unless args[:access_key] && args[:chatterly_url]

  @access_key = args[:access_key]
  @chatterly_url = args[:chatterly_url]
  @conn = set_up_faraday
end

Public Instance Methods

method_missing(*args) click to toggle source
# File lib/upkey/chatterly/client.rb, line 38
def method_missing(*args)
  case args[0]
  when :post_url
    Upkey::Chatterly::Urls::Builder.post_url(args[1], self)
  when :get_url
    Upkey::Chatterly::Urls::Accessor.get_url(args[1], self)
  else
    raise NoMethodError
  end
end
respond(args = {}) click to toggle source
# File lib/upkey/chatterly/client.rb, line 28
def respond(args = {})
  key = args[:key]
  id = args[:id]

  message = Upkey::Chatterly::Accessor.get_message(self, key, id)
  resp = Upkey::Chatterly::Accessor.get_resp(self, message.body)

  Upkey::Chatterly::Response.new(message, resp)
end

Private Instance Methods

set_up_faraday() click to toggle source
# File lib/upkey/chatterly/client.rb, line 51
def set_up_faraday
  Faraday.new(:url => @chatterly_url) do |faraday|
    faraday.request  :url_encoded
    faraday.response :logger
    faraday.adapter  Faraday.default_adapter
  end
end