Class: Lita::Adapters::Glip::Connector
- Inherits:
-
Object
- Object
- Lita::Adapters::Glip::Connector
- Defined in:
- lib/lita/adapters/glip/connector.rb
Instance Attribute Summary collapse
-
#robot ⇒ Object
readonly
Returns the value of attribute robot.
Instance Method Summary collapse
- #client_connect ⇒ Object
- #connect ⇒ Object
-
#initialize(robot, app_key, app_secret, server, username, extension, password, token) ⇒ Connector
constructor
A new instance of Connector.
- #message(group_id, strings) ⇒ Object
Constructor Details
#initialize(robot, app_key, app_secret, server, username, extension, password, token) ⇒ Connector
Returns a new instance of Connector.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/lita/adapters/glip/connector.rb', line 15 def initialize(robot, app_key, app_secret, server, username, extension, password, token) @robot = robot @logger_prefix = " -- #{self.class.name}: " @rc_sdk = RingCentralSdk::REST::Client.new do |config| config.app_key = app_key config.app_secret = app_secret config.server_url = server config.logger = Lita.logger end @glip_sdk = GlipSdk::REST::Client.new @rc_sdk @username = username @extension = extension @password = password @token = token end |
Instance Attribute Details
#robot ⇒ Object (readonly)
Returns the value of attribute robot.
13 14 15 |
# File 'lib/lita/adapters/glip/connector.rb', line 13 def robot @robot end |
Instance Method Details
#client_connect ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/lita/adapters/glip/connector.rb', line 35 def client_connect Lita.logger.info("#{@logger_prefix}Authorizing with RingCentral.") if @token.nil? @rc_sdk. @username, @extension, @password token = MultiJson.encode @rc_sdk.token.to_hash Lita.logger.debug("#{@logger_prefix}Authorized with token: #{token}.") else Lita.logger.debug("#{@logger_prefix}Loading token: #{@token}.") @rc_sdk.set_token MultiJson.decode @token end @glip_sdk = GlipSdk::REST::Client.new @rc_sdk observer = Lita::Adapters::Glip::MessageHandler.new @robot, @glip_sdk @glip_sdk.posts.observe observer end |
#connect ⇒ Object
31 32 33 |
# File 'lib/lita/adapters/glip/connector.rb', line 31 def connect client_connect end |
#message(group_id, strings) ⇒ Object
51 52 53 54 55 56 |
# File 'lib/lita/adapters/glip/connector.rb', line 51 def (group_id, strings) strings.each do |s| Lita.logger.debug("#{@logger_prefix}Send Message To Glip From Lita: #{s}.") @glip_sdk.posts.post groupId: group_id, text: s end end |