class Lita::Adapters::RingCentral::Connector
Attributes
client[R]
robot[R]
Public Class Methods
new(robot, app_key, app_secret, server, username, extension, password, token, sms_number)
click to toggle source
# File lib/lita/adapters/ringcentral/connector.rb, line 10 def initialize(robot, app_key, app_secret, server, username, extension, password, token, sms_number) @robot = robot @client = RingCentralSdk::REST::Client.new do |config| config.server_url = server config.app_key = app_key config.app_secret = app_secret config.logger = Lita.logger end @username = username @extension = extension @password = password @token = token @sms_number = sms_number @logger_prefix = " -- #{self.class.name}: " end
Public Instance Methods
client_connect()
click to toggle source
# File lib/lita/adapters/ringcentral/connector.rb, line 30 def client_connect Lita.logger.info("#{@logger_prefix}Authenticating with RingCentral.") if @token.nil? @client.authorize_password @username, @extension, @password else @client.set_token @token end @subscription = @client.create_subscription @subscription.subscribe([ '/restapi/v1.0/account/~/extension/~/message-store/instant?type=SMS' ]) observer = Lita::Adapters::RingCentral::Callback.new @robot @subscription.add_observer observer end
connect()
click to toggle source
# File lib/lita/adapters/ringcentral/connector.rb, line 26 def connect client_connect end
message(to_number, strings)
click to toggle source
# File lib/lita/adapters/ringcentral/connector.rb, line 47 def message(to_number, strings) Lita.logger.info("#{@logger_prefix}Sending message to #{to_number}") Lita.logger.info MultiJson.encode(strings) strings.each do |s| @client.messages.sms.create( from: @sms_number, to: to_number, text: s ) end end