Sha256: 611a4c9cba248713ee862193ac2b1601027ca216b533055a2042a604031fc947

Contents?: true

Size: 1.18 KB

Versions: 29

Compression:

Stored size: 1.18 KB

Contents

require 'capybara'

module Capybara
  module DSL
    def self.included(base)
      warn "including Capybara::DSL in the global scope is not recommended!" if base == Object
      super
    end

    def self.extended(base)
      warn "extending the main object with Capybara::DSL is not recommended!" if base == TOPLEVEL_BINDING.eval("self")
      super
    end

    ##
    #
    # Shortcut to working in a different session.
    #
    def using_session(name, &block)
      Capybara.using_session(name, &block)
    end

    ##
    #
    # Shortcut to using a different wait time.
    #
    def using_wait_time(seconds, &block)
      Capybara.using_wait_time(seconds, &block)
    end

    ##
    #
    # Shortcut to accessing the current session.
    #
    #     class MyClass
    #       include Capybara::DSL
    #
    #       def has_header?
    #         page.has_css?('h1')
    #       end
    #     end
    #
    # @return [Capybara::Session] The current session object
    #
    def page
      Capybara.current_session
    end

    Session::DSL_METHODS.each do |method|
      define_method method do |*args, &block|
        page.send method, *args, &block
      end
    end
  end

  extend(Capybara::DSL)
end

Version data entries

29 entries across 29 versions & 5 rubygems

Version Path
tinymce-rails-7.1.2 vendor/bundle/ruby/3.3.0/gems/capybara-2.4.4/lib/capybara/dsl.rb
capybara-2.6.2 lib/capybara/dsl.rb
capybara-2.6.1 lib/capybara/dsl.rb
capybara-2.6.0 lib/capybara/dsl.rb
angular-rails4-templates-0.4.1 vendor/ruby/2.1.0/gems/capybara-2.4.4/lib/capybara/dsl.rb
angular-rails4-templates-0.4.0 vendor/ruby/2.1.0/gems/capybara-2.4.4/lib/capybara/dsl.rb
angular-rails4-templates-0.3.0 vendor/ruby/2.1.0/gems/capybara-2.4.4/lib/capybara/dsl.rb
capybara-2.5.0 lib/capybara/dsl.rb
solidus_backend-1.0.0.pre3 vendor/bundle/gems/capybara-2.4.4/lib/capybara/dsl.rb
solidus_backend-1.0.0.pre2 vendor/bundle/gems/capybara-2.4.4/lib/capybara/dsl.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/capybara-2.4.4/lib/capybara/dsl.rb
capybara-2.4.4 lib/capybara/dsl.rb
capybara-2.4.3 lib/capybara/dsl.rb
capybara-2.4.2 lib/capybara/dsl.rb
capybara-2.4.1 lib/capybara/dsl.rb
capybara-2.4.0 lib/capybara/dsl.rb
capybara-2.3.0 lib/capybara/dsl.rb
capybara-2.2.1 lib/capybara/dsl.rb
capybara-2.2.0 lib/capybara/dsl.rb
capybara-2.2.0.rc1 lib/capybara/dsl.rb