Sha256: bf5d9fa2c34cb64a427e3eb6e0a94bed87bb35fc51c04865ecf3d2efe4219736

Contents?: true

Size: 1.35 KB

Versions: 5

Compression:

Stored size: 1.35 KB

Contents

require 'vapir-common/container'

module Vapir
  # This module contains the factory methods that are used to access most html objects
  #
  # For example, to access a button on a web page that has the following html
  #  <input type = button name= 'b1' value='Click Me' onClick='javascript:doSomething()'>
  #
  # the following watir code could be used
  #
  #  ie.button(:name, 'b1').click
  #
  # or
  #
  #  ie.button(:value, 'Click Me').to_s
  #
  # there are many methods available to the Button object
  #
  # Is includable for classes that have @container, document and ole_inner_elements
  module IE::Container
    include Vapir::Container
    include Vapir::Exception
    
    public
    # see documentation for the common Vapir::Container#handling_existence_failure 
    def handling_existence_failure(options={}, &block)
      begin
        base_handling_existence_failure(options, &block)
      rescue WIN32OLERuntimeError, RuntimeError, NoMethodError, Vapir::Exception::ExistenceFailureException
        if [WIN32OLERuntimeError, RuntimeError, NoMethodError].any?{|klass| $!.is_a?(klass) } && $!.message !~ Vapir::IE::ExistenceFailureCodesRE
          raise
        end
        handle_existence_failure($!, options)
      end
    end
    # Write the specified string to the log.
    def log(what)
      @container.logger.debug(what) if @logger
    end
  end # module
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
vapir-ie-1.10.1 lib/vapir-ie/container.rb
vapir-ie-1.10.0 lib/vapir-ie/container.rb
vapir-ie-1.9.0 lib/vapir-ie/container.rb
vapir-ie-1.8.1 lib/vapir-ie/container.rb
vapir-ie-1.8.0 lib/vapir-ie/container.rb