class Pipio::EventMessageCreator

Public Class Methods

new(text, time, sender_alias, sender_screen_name, alias_registry) click to toggle source
# File lib/pipio/message_creators/event_message_creator.rb, line 3
def initialize(text, time, sender_alias, sender_screen_name, alias_registry)
  @text = text
  @time = time
  @sender_alias = sender_alias
  @sender_screen_name = sender_screen_name
  @alias_registry = alias_registry
end

Public Instance Methods

create() click to toggle source
# File lib/pipio/message_creators/event_message_creator.rb, line 11
def create
  create_lib_purple_event_message ||
    create_non_lib_purple_event_message
end

Private Instance Methods

create_event_message_from(regex, event_type) click to toggle source
# File lib/pipio/message_creators/event_message_creator.rb, line 33
def create_event_message_from(regex, event_type)
  regex_matches = regex.match(@text)
  if regex_matches.size == 1
    # No alias - this means it's the user
    sender_alias = @sender_alias
    sender_screen_name = @sender_screen_name
  else
    sender_alias = regex_matches[1]
    sender_screen_name = @alias_registry[sender_alias]
  end

  Event.new(sender_screen_name, @time, sender_alias, @text, event_type)
end
create_lib_purple_event_message() click to toggle source
# File lib/pipio/message_creators/event_message_creator.rb, line 18
def create_lib_purple_event_message
  regex = Event::LIB_PURPLE.detect { |rxp| @text =~ rxp }
  if regex
    event_type = 'libpurpleEvent'
    create_event_message_from(regex, event_type)
  end
end
create_non_lib_purple_event_message() click to toggle source
# File lib/pipio/message_creators/event_message_creator.rb, line 26
def create_non_lib_purple_event_message
  regex, event_type = Event::MAP.detect { |rxp,ev_type| @text =~ rxp }
  if regex && event_type
    create_event_message_from(regex, event_type)
  end
end