Sha256: 1468c9fc3d76fdcff5fbf43da0ae152b5eae5b8795d7ab1937ff468bd1b8dc2c

Contents?: true

Size: 1.74 KB

Versions: 41

Compression:

Stored size: 1.74 KB

Contents

require 'forwardable'

module Cucumber
  class Runtime
    # This is what a programming language will consider to be a runtime.
    # 
    # It's a thin class that directs the handul of methods needed by the
    # programming languages to the right place.
    class ForProgrammingLanguages
      extend Forwardable
    
      def initialize(support_code, user_interface)
        @support_code, @user_interface = support_code, user_interface
      end

      def_delegators :@user_interface,
        :embed,
        :ask,
        :puts,
        :features_paths,
        :step_match
    
      def_delegators :@support_code,
        :invoke_steps,
        :invoke,
        :load_programming_language
    
      # Returns a Cucumber::Ast::Table for +text_or_table+, which can either
      # be a String:
      #
      #   table(%{
      #     | account | description | amount |
      #     | INT-100 | Taxi        | 114    |
      #     | CUC-101 | Peeler      | 22     |
      #   })
      #
      # or a 2D Array:
      #
      #   table([
      #     %w{ account description amount },
      #     %w{ INT-100 Taxi        114    },
      #     %w{ CUC-101 Peeler      22     }
      #   ])
      #
      def table(text_or_table, file=nil, line_offset=0)
        if Array === text_or_table
          Ast::Table.new(text_or_table)
        else
          Ast::Table.parse(text_or_table, file, line_offset)
        end
      end

      # Returns a regular String for +string_with_triple_quotes+. Example:
      #
      #   """
      #    hello
      #   world
      #   """
      #
      # Is retured as: " hello\nworld"
      #
      def doc_string(string_with_triple_quotes, file=nil, line_offset=0)
        Ast::DocString.parse(string_with_triple_quotes)
      end
    end
  end
end

Version data entries

41 entries across 39 versions & 9 rubygems

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