Sha256: 2e3bca06d2c22c63a7283b40c6b6633ff5f8bcdeb66cd989cab98e707d963abb

Contents?: true

Size: 1.44 KB

Versions: 10

Compression:

Stored size: 1.44 KB

Contents

require 'multi_json'
require 'socket'
require 'lucid/wire_support/connection'
require 'lucid/wire_support/configuration'
require 'lucid/wire_support/wire_packet'
require 'lucid/wire_support/wire_exception'
require 'lucid/wire_support/wire_step_definition'

module Lucid
  module WireSupport

    # The wire-protocol (lanugage independent) implementation of the programming
    # language API.
    class WireLanguage
      include Interface::InterfaceMethods

      def initialize(runtime)
        @connections = []
      end

      def alias_adverbs(adverbs)
      end

      def load_code_file(wire_file)
        config = Configuration.from_file(wire_file)
        @connections << Connection.new(config)
      end

      def matcher_text(code_keyword, step_name, multiline_arg_class, matcher_type)
        matchers = @connections.map do |remote|
          remote.matcher_text(code_keyword, step_name, multiline_arg_class.to_s)
        end
        matchers.flatten.join("\n")
      end

      def step_matches(step_name, formatted_step_name)
        @connections.map{ |c| c.step_matches(step_name, formatted_step_name)}.flatten
      end

      protected

      def begin_scenario(scenario)
        @connections.each { |c| c.begin_scenario(scenario) }
        @current_scenario = scenario
      end

      def end_scenario
        scenario = @current_scenario
        @connections.each { |c| c.end_scenario(scenario) }
        @current_scenario = nil
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
lucid-0.3.0 lib/lucid/wire_support/wire_language.rb
lucid-0.2.1 lib/lucid/wire_support/wire_language.rb
lucid-0.2.0 lib/lucid/wire_support/wire_language.rb
lucid-0.1.1 lib/lucid/wire_support/wire_language.rb
lucid-0.1.0 lib/lucid/wire_support/wire_language.rb
lucid-0.0.9 lib/lucid/wire_support/wire_language.rb
lucid-0.0.8 lib/lucid/wire_support/wire_language.rb
lucid-0.0.7 lib/lucid/wire_support/wire_language.rb
lucid-0.0.6 lib/lucid/wire_support/wire_language.rb
lucid-0.0.5 lib/lucid/wire_support/wire_language.rb