Sha256: d2b39f3ce8fdcb00d5579acdfd5bbc04850027bde485f1d588c8d4fa1dd22b58

Contents?: true

Size: 776 Bytes

Versions: 82

Compression:

Stored size: 776 Bytes

Contents

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)
          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
end

Version data entries

82 entries across 80 versions & 12 rubygems

Version Path
candlepin-api-0.4.0 bundle/ruby/1.8/gems/cucumber-1.2.1/lib/cucumber/wire_support/wire_packet.rb
candlepin-api-0.4.0 bundle/ruby/gems/cucumber-1.2.1/lib/cucumber/wire_support/wire_packet.rb
candlepin-api-0.4.0 bundle/ruby/1.9.1/gems/cucumber-1.2.1/lib/cucumber/wire_support/wire_packet.rb
librarian-puppet-0.9.9 vendor/gems/ruby/1.9.1/gems/cucumber-1.2.1/lib/cucumber/wire_support/wire_packet.rb
librarian-puppet-0.9.8 vendor/gems/ruby/1.9.1/gems/cucumber-1.2.1/lib/cucumber/wire_support/wire_packet.rb
librarian-puppet-0.9.4 vendor/gems/ruby/1.8/gems/cucumber-1.2.1/lib/cucumber/wire_support/wire_packet.rb
casecumber-1.0.2.1 lib/cucumber/wire_support/wire_packet.rb
casecumber-1.2.1.cb2 lib/cucumber/wire_support/wire_packet.rb
librarian-puppet-0.9.3 vendor/gems/ruby/1.8/gems/cucumber-1.2.1/lib/cucumber/wire_support/wire_packet.rb
cucumber-1.2.1 lib/cucumber/wire_support/wire_packet.rb
resque-pool-0.3.0 vendor/bundle/ruby/1.8/gems/cucumber-1.1.9/lib/cucumber/wire_support/wire_packet.rb
ftl-0.2.0 vendor/bundle/gems/cucumber-1.2.0/lib/cucumber/wire_support/wire_packet.rb
cucumber-1.2.0 lib/cucumber/wire_support/wire_packet.rb
frameworks-capybara-0.2.0.rc6 vendor/bundle/ruby/1.8/gems/cucumber-1.1.9/lib/cucumber/wire_support/wire_packet.rb
frameworks-capybara-0.2.0.rc5 vendor/bundle/ruby/1.8/gems/cucumber-1.1.9/lib/cucumber/wire_support/wire_packet.rb
frameworks-capybara-0.2.0.rc4 vendor/bundle/ruby/1.8/gems/cucumber-1.1.9/lib/cucumber/wire_support/wire_packet.rb
frameworks-capybara-0.2.0.rc3 vendor/bundle/ruby/1.8/gems/cucumber-1.1.9/lib/cucumber/wire_support/wire_packet.rb
frameworks-capybara-0.2.0.rc2 vendor/bundle/ruby/1.8/gems/cucumber-1.1.9/lib/cucumber/wire_support/wire_packet.rb
resque-pool-0.3.0.beta.2 vendor/bundle/ruby/1.8/gems/cucumber-1.1.9/lib/cucumber/wire_support/wire_packet.rb
radiant-1.0.0 ruby-debug/ruby/1.8/gems/cucumber-1.1.9/lib/cucumber/wire_support/wire_packet.rb