Sha256: 6466e46caffd968d2481d25d98cd81302088dec474f4727674d47ad6b8ed4efd

Contents?: true

Size: 676 Bytes

Versions: 1

Compression:

Stored size: 676 Bytes

Contents

module Calabash
  class Page
    # For auto-completion
    include Calabash

    def self.inherited(subclass)
      # Define the page into global scope
      name = subclass.to_s.split('::').last

      unless Object.const_defined?(name.to_sym)
        # We need a unique type for this constant
        clz = Class.new(StubPage)
        Object.const_set(name.to_sym, clz)
      end
    end

    private_class_method :new

    def initialize(world)
      @world = world
    end

    def trait
      raise 'Implement your own trait'
    end

    def await(options={})
      wait_for_view(trait, options)
    end

    # @!visibility private
    class StubPage

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
calabash-1.9.9.pre3 lib/calabash/page.rb