Sha256: 5c01397641905ca3cee7d93d9618258e0b476ddf6ba5bc9f2ff88b04c689927d
Contents?: true
Size: 962 Bytes
Versions: 3
Compression:
Stored size: 962 Bytes
Contents
require 'miu/packet' require 'miu/messages' module Miu module Readable def self.included(base) base.class_eval do def read_with_packet parts = [] loop do parts << read_without_packet break unless more_parts? end packet = Packet.load parts begin data = Miu::Utility.symbolize_keys(packet.data, true) rescue packet.data type = data[:type] rescue nil message_class = Miu::Messages.guess(type) packet.data = message_class.new data packet rescue => e raise MessageLoadError, e end end alias_method :read_without_packet, :read alias_method :read, :read_with_packet end base.send :include, ::Enumerable end def each if block_given? loop do yield read end end return self end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
miu-0.2.3 | lib/miu/readable.rb |
miu-0.2.2 | lib/miu/readable.rb |
miu-0.2.1 | lib/miu/readable.rb |