Skip to content

Commit

Permalink
Add messaging filtering and logging
Browse files Browse the repository at this point in the history
  • Loading branch information
grokify committed Sep 4, 2016
1 parent 323c7f6 commit a2344bf
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 7 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
@@ -1,4 +1,10 @@
CHANGELOG
---------
- **2016-09-05**: 0.0.3
- Add message filtering to ensure we are processing the correct events
- Add more logging info
- Update RingCentral SDK version requirement to 1.3.4 from 1.3.2
- **2016-09-04**: 0.0.2
- Update RingCentral SDK version requirement to 1.3.2 from 1.0.0
- **2016-08-23**: 0.0.1
- Initial commit
15 changes: 12 additions & 3 deletions lib/lita/adapters/ringcentral/callback.rb
Expand Up @@ -6,17 +6,26 @@ class Callback

def initialize(robot)
@robot = robot
@logger_prefix = " -- #{self.class.name}: "
end

def create_user(user_data)
User.create user_data['phoneNumber']
end

def update(message)
Lita.logger.info 'Processing RingCentral Message'
Lita.logger.info MultiJson.encode message
m = message
unless m.is_a?(Hash) && m.key?('event') && m['event'].index('/message-store/instant?type=SMS').is_a?(Fixnum)
return
end
unless m.key?('body') && m['body'].key?('from') && m['body']['from'].key?('phoneNumber')
return
end
Lita.logger.info "#{@logger_prefix}Processing RingCentral Message"
Lita.logger.info "#{@logger_prefix}" + MultiJson.encode(message)

user_phone_number = message['body']['from']['phoneNumber']
Lita.logger.info "Message received from #{user_phone_number}"
Lita.logger.info "#{@logger_prefix}Message received from #{user_phone_number}"
user = Lita::User.find_by_name user_phone_number
user = create_user(message['body']['from']) unless user
source = Lita::Source.new user: user #, room: user_phone_number
Expand Down
5 changes: 3 additions & 2 deletions lib/lita/adapters/ringcentral/connector.rb
Expand Up @@ -15,14 +15,15 @@ def initialize(robot, app_key, app_secret, server, username, extension, password
@password = password
@token = token
@sms_number = sms_number
@logger_prefix = " -- #{self.class.name}: "
end

def connect
client_connect
end

def client_connect
Lita.logger.info('Authenticating with RingCentral.')
Lita.logger.info("#{@logger_prefix}Authenticating with RingCentral.")
if @token.nil?
@client.authorize_password @username, @extension, @password
else
Expand All @@ -39,7 +40,7 @@ def client_connect
end

def message(to_number, strings)
Lita.logger.info("Sending message to #{to_number}")
Lita.logger.info("#{@logger_prefix}Sending message to #{to_number}")
Lita.logger.info MultiJson.encode(strings)
strings.each do |s|
@client.messages.sms.create(
Expand Down
4 changes: 2 additions & 2 deletions lita-ringcentral.gemspec
@@ -1,7 +1,7 @@
Gem::Specification.new do |spec|
spec.name = 'lita-ringcentral'
spec.date = '2016-09-04'
spec.version = '0.0.2'
spec.version = '0.0.3'
spec.authors = ['John Wang']
spec.email = ["johncwang@gmail.com"]
spec.description = %q{A RingCentral SMS adapter for Lita.}
Expand All @@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
spec.require_paths = ['lib']

spec.add_runtime_dependency 'lita', '>= 4.4.3'
spec.add_runtime_dependency 'ringcentral_sdk', '>= 1.3.2'
spec.add_runtime_dependency 'ringcentral_sdk', '>= 1.3.4'

spec.add_development_dependency 'bundler', '~> 1.3'
spec.add_development_dependency 'pry-byebug'
Expand Down

0 comments on commit a2344bf

Please sign in to comment.