class Lita::Adapters::RingCentral::Callback
Attributes
robot[R]
Public Class Methods
new(robot)
click to toggle source
# File lib/lita/adapters/ringcentral/callback.rb, line 7 def initialize(robot) @robot = robot @logger_prefix = " -- #{self.class.name}: " end
Public Instance Methods
create_user(user_data)
click to toggle source
# File lib/lita/adapters/ringcentral/callback.rb, line 12 def create_user(user_data) User.create user_data['phoneNumber'] end
update(message)
click to toggle source
# File lib/lita/adapters/ringcentral/callback.rb, line 16 def update(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 "#{@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 post = message['body']['subject'].to_s msg = Lita::Message.new @robot, post, source @robot.receive msg end