lib/marvin/irc/event.rb in Sutto-marvin-0.4.0 vs lib/marvin/irc/event.rb in Sutto-marvin-0.8.0.0

- old
+ new

@@ -1,35 +1,39 @@ module Marvin::IRC class Event attr_accessor :keys, :name, :raw_arguments, :prefix def initialize(name, *args) - self.name = name.to_sym - self.keys = args.flatten.map { |k| k.to_sym } + @name = name.to_sym + @keys = args.flatten.map { |k| k.to_sym } end def to_hash return @hash_value unless @hash_value.blank? results = {} - values = self.raw_arguments.to_a - last_index = self.keys.size - 1 - self.keys.each_with_index do |key, i| + values = @raw_arguments.to_a + last_index = @keys.size - 1 + @keys.each_with_index do |key, i| results[key] = (i == last_index ? values.join(" ").strip : values.shift) end - results.merge!(prefix.to_hash) unless prefix.blank? - return (@hash_value = results) + results.merge!(@prefix.to_hash) unless @prefix.blank? + @hash_value = results end def inspect - "#<Marvin::IRC::Event name=#{self.name} attributes=#{self.to_hash.inspect} >" + "#<Marvin::IRC::Event name=#{@name} attributes=#{to_hash.inspect} >" end + def to_event_name(prefix = nil) + [prefix, @name].join("_").to_sym + end + def to_incoming_event_name - :"incoming_#{self.name}" + to_event_name :incoming end def to_outgoing_event_name - :"outgoing_#{self.name}" + to_event_name :outgoing end end end \ No newline at end of file