lib/cucumber/wire_support/wire_packet.rb in cucumber-1.2.1 vs lib/cucumber/wire_support/wire_packet.rb in cucumber-1.2.2
- old
+ new
@@ -1,30 +1,32 @@
+require 'multi_json'
+
module Cucumber
module WireSupport
# Represents the packet of data sent over the wire as JSON data, containing
# a message and a hash of arguments
class WirePacket
class << self
def parse(raw)
- attributes = JSON.parse(raw.strip)
+ attributes = MultiJson.load(raw.strip)
message = attributes[0]
params = attributes[1]
new(message, params)
end
end
-
+
attr_reader :message, :params
-
+
def initialize(message, params = nil)
@message, @params = message, params
end
-
+
def to_json
packet = [@message]
packet << @params if @params
packet.to_json
end
-
+
def handle_with(handler)
handler.send("handle_#{@message}", @params)
end
end
end