ae_page_objects 2.0.0.beta1 → 2.0.0.beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/lib/ae_page_objects.rb +5 -41
 - data/lib/ae_page_objects/core/dsl.rb +3 -0
 - data/lib/ae_page_objects/document.rb +14 -6
 - data/lib/ae_page_objects/element.rb +2 -0
 - data/lib/ae_page_objects/elements/collection.rb +2 -0
 - data/lib/ae_page_objects/exceptions.rb +2 -6
 - data/lib/ae_page_objects/multiple_windows/browser.rb +7 -0
 - data/lib/ae_page_objects/multiple_windows/cross_window_loader_strategy.rb +2 -0
 - data/lib/ae_page_objects/multiple_windows/window.rb +5 -1
 - data/lib/ae_page_objects/multiple_windows/window_list.rb +4 -1
 - data/lib/ae_page_objects/node.rb +2 -0
 - data/lib/ae_page_objects/rails.rb +3 -0
 - data/lib/ae_page_objects/{core → rails}/application_router.rb +2 -0
 - data/lib/ae_page_objects/single_window/browser.rb +3 -1
 - data/lib/ae_page_objects/single_window/window.rb +6 -0
 - data/lib/ae_page_objects/version.rb +1 -1
 - metadata +6 -10
 - data/lib/ae_page_objects/core/site.rb +0 -61
 - data/lib/ae_page_objects/core/universe.rb +0 -11
 - data/lib/ae_page_objects/core_ext/module.rb +0 -34
 - data/lib/ae_page_objects/util/inflector.rb +0 -48
 - data/lib/ae_page_objects/util/singleton.rb +0 -22
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 4d1047792e65a7c7ddf5deca452f5f687e3d0ac1
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: d56f0eb00934b7e97aab199c5629867d06bd6c1a
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: b4e0f544e11d234643955e2c2464df9fcaac81f70c0a9f7e399ea72123e7f96373f0d51e5674234653a41c694bb1adcf25198052625ae2d5c3ddd09f118b9905
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: cbdd37fb41439a93f26e019f8c0bf55d052a77aefb428915e96117528a2f509c3b3b3d4c81e1ece1dfac1902a5902a44e780e0f435edb3d48e335a11a1e3b650
         
     | 
    
        data/lib/ae_page_objects.rb
    CHANGED
    
    | 
         @@ -5,39 +5,9 @@ require 'ae_page_objects/version' 
     | 
|
| 
       5 
5 
     | 
    
         
             
            require 'ae_page_objects/exceptions'
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            module AePageObjects
         
     | 
| 
       8 
     | 
    
         
            -
              autoload :Universe,             'ae_page_objects/core/universe'
         
     | 
| 
       9 
     | 
    
         
            -
              autoload :Site,                 'ae_page_objects/core/site'
         
     | 
| 
       10 
     | 
    
         
            -
              autoload :BasicRouter,          'ae_page_objects/core/basic_router'
         
     | 
| 
       11 
     | 
    
         
            -
              autoload :ApplicationRouter,    'ae_page_objects/core/application_router'
         
     | 
| 
       12 
     | 
    
         
            -
              autoload :Dsl,                  'ae_page_objects/core/dsl'
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
              autoload :Singleton,            'ae_page_objects/util/singleton'
         
     | 
| 
       15 
     | 
    
         
            -
              autoload :InternalHelpers,      'ae_page_objects/util/internal_helpers'
         
     | 
| 
       16 
     | 
    
         
            -
              autoload :HashSymbolizer,       'ae_page_objects/util/hash_symbolizer'
         
     | 
| 
       17 
     | 
    
         
            -
              autoload :Inflector,            'ae_page_objects/util/inflector'
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
              module MultipleWindows
         
     | 
| 
       20 
     | 
    
         
            -
                autoload :Browser,                   'ae_page_objects/multiple_windows/browser'
         
     | 
| 
       21 
     | 
    
         
            -
                autoload :Window,                    'ae_page_objects/multiple_windows/window'
         
     | 
| 
       22 
     | 
    
         
            -
                autoload :CrossWindowLoaderStrategy, 'ae_page_objects/multiple_windows/cross_window_loader_strategy'
         
     | 
| 
       23 
     | 
    
         
            -
                autoload :WindowList,                'ae_page_objects/multiple_windows/window_list'
         
     | 
| 
       24 
     | 
    
         
            -
                autoload :WindowHandleManager,       'ae_page_objects/multiple_windows/window_handle_manager'
         
     | 
| 
       25 
     | 
    
         
            -
              end
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
              module SingleWindow
         
     | 
| 
       28 
     | 
    
         
            -
                autoload :Browser,                   'ae_page_objects/single_window/browser'
         
     | 
| 
       29 
     | 
    
         
            -
                autoload :Window,                    'ae_page_objects/single_window/window'
         
     | 
| 
       30 
     | 
    
         
            -
                autoload :SameWindowLoaderStrategy,  'ae_page_objects/single_window/same_window_loader_strategy'
         
     | 
| 
       31 
     | 
    
         
            -
              end
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
              autoload :DocumentQuery,     'ae_page_objects/document_query'
         
     | 
| 
       34 
     | 
    
         
            -
              autoload :DocumentLoader,    'ae_page_objects/document_loader'
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
8 
     | 
    
         
             
              autoload :Node,              'ae_page_objects/node'
         
     | 
| 
       37 
9 
     | 
    
         
             
              autoload :Document,          'ae_page_objects/document'
         
     | 
| 
       38 
     | 
    
         
            -
              autoload :DocumentProxy,     'ae_page_objects/document_proxy'
         
     | 
| 
       39 
10 
     | 
    
         
             
              autoload :Element,           'ae_page_objects/element'
         
     | 
| 
       40 
     | 
    
         
            -
              autoload :ElementProxy,      'ae_page_objects/element_proxy'
         
     | 
| 
       41 
11 
     | 
    
         | 
| 
       42 
12 
     | 
    
         
             
              autoload :Collection,        'ae_page_objects/elements/collection'
         
     | 
| 
       43 
13 
     | 
    
         
             
              autoload :Form,              'ae_page_objects/elements/form'
         
     | 
| 
         @@ -45,6 +15,7 @@ module AePageObjects 
     | 
|
| 
       45 
15 
     | 
    
         
             
              autoload :Checkbox,          'ae_page_objects/elements/checkbox'
         
     | 
| 
       46 
16 
     | 
    
         | 
| 
       47 
17 
     | 
    
         
             
              class << self
         
     | 
| 
      
 18 
     | 
    
         
            +
                attr_accessor :default_router
         
     | 
| 
       48 
19 
     | 
    
         | 
| 
       49 
20 
     | 
    
         
             
                def browser
         
     | 
| 
       50 
21 
     | 
    
         
             
                  @browser ||= begin
         
     | 
| 
         @@ -52,8 +23,10 @@ module AePageObjects 
     | 
|
| 
       52 
23 
     | 
    
         | 
| 
       53 
24 
     | 
    
         
             
                    case driver
         
     | 
| 
       54 
25 
     | 
    
         
             
                    when Capybara::Selenium::Driver then
         
     | 
| 
      
 26 
     | 
    
         
            +
                      require 'ae_page_objects/multiple_windows/browser'
         
     | 
| 
       55 
27 
     | 
    
         
             
                      MultipleWindows::Browser.new
         
     | 
| 
       56 
28 
     | 
    
         
             
                    else
         
     | 
| 
      
 29 
     | 
    
         
            +
                      require 'ae_page_objects/single_window/browser'
         
     | 
| 
       57 
30 
     | 
    
         
             
                      SingleWindow::Browser.new
         
     | 
| 
       58 
31 
     | 
    
         
             
                    end
         
     | 
| 
       59 
32 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -89,14 +62,5 @@ module AePageObjects 
     | 
|
| 
       89 
62 
     | 
    
         
             
              end
         
     | 
| 
       90 
63 
     | 
    
         
             
            end
         
     | 
| 
       91 
64 
     | 
    
         | 
| 
       92 
     | 
    
         
            -
            require 'ae_page_objects/ 
     | 
| 
       93 
     | 
    
         
            -
             
     | 
| 
       94 
     | 
    
         
            -
             
     | 
| 
       95 
     | 
    
         
            -
             
     | 
| 
       96 
     | 
    
         
            -
             
     | 
| 
       97 
     | 
    
         
            -
             
     | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
     | 
    
         
            -
             
     | 
| 
       100 
     | 
    
         
            -
             
     | 
| 
       101 
     | 
    
         
            -
             
     | 
| 
       102 
     | 
    
         
            -
             
     | 
| 
      
 65 
     | 
    
         
            +
            require 'ae_page_objects/core/basic_router'
         
     | 
| 
      
 66 
     | 
    
         
            +
            AePageObjects.default_router = AePageObjects::BasicRouter.new
         
     | 
| 
         @@ -1,13 +1,25 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module AePageObjects
         
     | 
| 
       2 
2 
     | 
    
         
             
              class Document < Node
         
     | 
| 
       3 
3 
     | 
    
         
             
                class << self
         
     | 
| 
      
 4 
     | 
    
         
            +
                  attr_writer :router
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                  def router
         
     | 
| 
      
 7 
     | 
    
         
            +
                    @router ||= begin
         
     | 
| 
      
 8 
     | 
    
         
            +
                      if [self, superclass].include?(Document)
         
     | 
| 
      
 9 
     | 
    
         
            +
                        AePageObjects.default_router
         
     | 
| 
      
 10 
     | 
    
         
            +
                      else
         
     | 
| 
      
 11 
     | 
    
         
            +
                        superclass.router
         
     | 
| 
      
 12 
     | 
    
         
            +
                      end
         
     | 
| 
      
 13 
     | 
    
         
            +
                    end
         
     | 
| 
      
 14 
     | 
    
         
            +
                  end
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
       4 
16 
     | 
    
         
             
                  def can_load_from_current_url?
         
     | 
| 
       5 
17 
     | 
    
         
             
                    return true if paths.empty?
         
     | 
| 
       6 
18 
     | 
    
         | 
| 
       7 
19 
     | 
    
         
             
                    url = current_url_without_params
         
     | 
| 
       8 
20 
     | 
    
         | 
| 
       9 
21 
     | 
    
         
             
                    paths.any? do |path|
         
     | 
| 
       10 
     | 
    
         
            -
                       
     | 
| 
      
 22 
     | 
    
         
            +
                      router.path_recognizes_url?(path, url)
         
     | 
| 
       11 
23 
     | 
    
         
             
                    end
         
     | 
| 
       12 
24 
     | 
    
         
             
                  end
         
     | 
| 
       13 
25 
     | 
    
         | 
| 
         @@ -17,7 +29,7 @@ module AePageObjects 
     | 
|
| 
       17 
29 
     | 
    
         | 
| 
       18 
30 
     | 
    
         
             
                    path = inner_options.delete(:via) || paths.first
         
     | 
| 
       19 
31 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
                    full_path =  
     | 
| 
      
 32 
     | 
    
         
            +
                    full_path = router.generate_path(path, *args)
         
     | 
| 
       21 
33 
     | 
    
         
             
                    raise PathNotResolvable, "#{self.name} not visitable via #{paths.first}(#{args.inspect})" unless full_path
         
     | 
| 
       22 
34 
     | 
    
         | 
| 
       23 
35 
     | 
    
         
             
                    Capybara.current_session.visit(full_path)
         
     | 
| 
         @@ -36,10 +48,6 @@ module AePageObjects 
     | 
|
| 
       36 
48 
     | 
    
         | 
| 
       37 
49 
     | 
    
         
             
                    paths << path_method
         
     | 
| 
       38 
50 
     | 
    
         
             
                  end
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
                  def site
         
     | 
| 
       41 
     | 
    
         
            -
                    @site ||= Site.from(self)
         
     | 
| 
       42 
     | 
    
         
            -
                  end
         
     | 
| 
       43 
51 
     | 
    
         
             
                end
         
     | 
| 
       44 
52 
     | 
    
         | 
| 
       45 
53 
     | 
    
         
             
                attr_reader :window
         
     | 
| 
         @@ -4,14 +4,10 @@ module AePageObjects 
     | 
|
| 
       4 
4 
     | 
    
         
             
              class StalePageObject < Error
         
     | 
| 
       5 
5 
     | 
    
         
             
              end
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
               
     | 
| 
       8 
     | 
    
         
            -
              class LoadingFailed < Error
         
     | 
| 
      
 7 
     | 
    
         
            +
              class LoadingPageFailed < Error
         
     | 
| 
       9 
8 
     | 
    
         
             
              end
         
     | 
| 
       10 
9 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
              class  
     | 
| 
       12 
     | 
    
         
            -
              end
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
              class LoadingElementFailed < LoadingFailed
         
     | 
| 
      
 10 
     | 
    
         
            +
              class LoadingElementFailed < Error
         
     | 
| 
       15 
11 
     | 
    
         
             
              end
         
     | 
| 
       16 
12 
     | 
    
         | 
| 
       17 
13 
     | 
    
         
             
              class ElementExpectationError < Error
         
     | 
| 
         @@ -1,3 +1,10 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'ae_page_objects/multiple_windows/cross_window_loader_strategy'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'ae_page_objects/multiple_windows/window_list'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            require 'ae_page_objects/document_loader'
         
     | 
| 
      
 5 
     | 
    
         
            +
            require 'ae_page_objects/document_proxy'
         
     | 
| 
      
 6 
     | 
    
         
            +
            require 'ae_page_objects/document_query'
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
       1 
8 
     | 
    
         
             
            module AePageObjects
         
     | 
| 
       2 
9 
     | 
    
         
             
              module MultipleWindows
         
     | 
| 
       3 
10 
     | 
    
         
             
                class Browser
         
     | 
| 
         @@ -1,3 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'ae_page_objects/multiple_windows/window_handle_manager'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require 'ae_page_objects/single_window/window'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
       1 
5 
     | 
    
         
             
            module AePageObjects
         
     | 
| 
       2 
6 
     | 
    
         
             
              module MultipleWindows
         
     | 
| 
       3 
7 
     | 
    
         
             
                class Window < SingleWindow::Window
         
     | 
| 
         @@ -25,4 +29,4 @@ module AePageObjects 
     | 
|
| 
       25 
29 
     | 
    
         
             
                  end
         
     | 
| 
       26 
30 
     | 
    
         
             
                end
         
     | 
| 
       27 
31 
     | 
    
         
             
              end
         
     | 
| 
       28 
     | 
    
         
            -
            end
         
     | 
| 
      
 32 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,3 +1,6 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'ae_page_objects/multiple_windows/window_handle_manager'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'ae_page_objects/multiple_windows/window'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
       1 
4 
     | 
    
         
             
            module AePageObjects
         
     | 
| 
       2 
5 
     | 
    
         
             
              module MultipleWindows
         
     | 
| 
       3 
6 
     | 
    
         
             
                class WindowList
         
     | 
| 
         @@ -57,4 +60,4 @@ module AePageObjects 
     | 
|
| 
       57 
60 
     | 
    
         
             
                  end
         
     | 
| 
       58 
61 
     | 
    
         
             
                end
         
     | 
| 
       59 
62 
     | 
    
         
             
              end
         
     | 
| 
       60 
     | 
    
         
            -
            end
         
     | 
| 
      
 63 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/ae_page_objects/node.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: ae_page_objects
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2.0.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.0.0.beta2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Donnie Tognazzini
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2016- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2016-06-07 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: capybara
         
     | 
| 
         @@ -32,12 +32,8 @@ extensions: [] 
     | 
|
| 
       32 
32 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       33 
33 
     | 
    
         
             
            files:
         
     | 
| 
       34 
34 
     | 
    
         
             
            - lib/ae_page_objects.rb
         
     | 
| 
       35 
     | 
    
         
            -
            - lib/ae_page_objects/core/application_router.rb
         
     | 
| 
       36 
35 
     | 
    
         
             
            - lib/ae_page_objects/core/basic_router.rb
         
     | 
| 
       37 
36 
     | 
    
         
             
            - lib/ae_page_objects/core/dsl.rb
         
     | 
| 
       38 
     | 
    
         
            -
            - lib/ae_page_objects/core/site.rb
         
     | 
| 
       39 
     | 
    
         
            -
            - lib/ae_page_objects/core/universe.rb
         
     | 
| 
       40 
     | 
    
         
            -
            - lib/ae_page_objects/core_ext/module.rb
         
     | 
| 
       41 
37 
     | 
    
         
             
            - lib/ae_page_objects/document.rb
         
     | 
| 
       42 
38 
     | 
    
         
             
            - lib/ae_page_objects/document_loader.rb
         
     | 
| 
       43 
39 
     | 
    
         
             
            - lib/ae_page_objects/document_proxy.rb
         
     | 
| 
         @@ -55,14 +51,14 @@ files: 
     | 
|
| 
       55 
51 
     | 
    
         
             
            - lib/ae_page_objects/multiple_windows/window_handle_manager.rb
         
     | 
| 
       56 
52 
     | 
    
         
             
            - lib/ae_page_objects/multiple_windows/window_list.rb
         
     | 
| 
       57 
53 
     | 
    
         
             
            - lib/ae_page_objects/node.rb
         
     | 
| 
      
 54 
     | 
    
         
            +
            - lib/ae_page_objects/rails.rb
         
     | 
| 
      
 55 
     | 
    
         
            +
            - lib/ae_page_objects/rails/application_router.rb
         
     | 
| 
       58 
56 
     | 
    
         
             
            - lib/ae_page_objects/single_window/browser.rb
         
     | 
| 
       59 
57 
     | 
    
         
             
            - lib/ae_page_objects/single_window/same_window_loader_strategy.rb
         
     | 
| 
       60 
58 
     | 
    
         
             
            - lib/ae_page_objects/single_window/window.rb
         
     | 
| 
       61 
59 
     | 
    
         
             
            - lib/ae_page_objects/util/hash_symbolizer.rb
         
     | 
| 
       62 
     | 
    
         
            -
            - lib/ae_page_objects/util/inflector.rb
         
     | 
| 
       63 
60 
     | 
    
         
             
            - lib/ae_page_objects/util/internal_helpers.rb
         
     | 
| 
       64 
61 
     | 
    
         
             
            - lib/ae_page_objects/util/page_polling.rb
         
     | 
| 
       65 
     | 
    
         
            -
            - lib/ae_page_objects/util/singleton.rb
         
     | 
| 
       66 
62 
     | 
    
         
             
            - lib/ae_page_objects/version.rb
         
     | 
| 
       67 
63 
     | 
    
         
             
            homepage: http://github.com/appfolio/ae_page_objects
         
     | 
| 
       68 
64 
     | 
    
         
             
            licenses:
         
     | 
| 
         @@ -79,9 +75,9 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       79 
75 
     | 
    
         
             
                  version: 1.9.3
         
     | 
| 
       80 
76 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       81 
77 
     | 
    
         
             
              requirements:
         
     | 
| 
       82 
     | 
    
         
            -
              - - " 
     | 
| 
      
 78 
     | 
    
         
            +
              - - ">"
         
     | 
| 
       83 
79 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       84 
     | 
    
         
            -
                  version:  
     | 
| 
      
 80 
     | 
    
         
            +
                  version: 1.3.1
         
     | 
| 
       85 
81 
     | 
    
         
             
            requirements: []
         
     | 
| 
       86 
82 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       87 
83 
     | 
    
         
             
            rubygems_version: 2.4.3
         
     | 
| 
         @@ -1,61 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module AePageObjects
         
     | 
| 
       2 
     | 
    
         
            -
              class Site
         
     | 
| 
       3 
     | 
    
         
            -
                extend AePageObjects::Singleton
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
                class << self
         
     | 
| 
       6 
     | 
    
         
            -
                  private :new
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
                  def initialize!
         
     | 
| 
       9 
     | 
    
         
            -
                    instance.initialize!
         
     | 
| 
       10 
     | 
    
         
            -
                  end
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
                  def router=(router)
         
     | 
| 
       13 
     | 
    
         
            -
                    instance.router = router
         
     | 
| 
       14 
     | 
    
         
            -
                  end
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
                  def inherited(site_class)
         
     | 
| 
       17 
     | 
    
         
            -
                    super
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
                    site_class.universe.send(:include, Universe)
         
     | 
| 
       20 
     | 
    
         
            -
                    site_class.universe.page_objects_site_class = site_class
         
     | 
| 
       21 
     | 
    
         
            -
                  end
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
                  def universe
         
     | 
| 
       24 
     | 
    
         
            -
                    parent
         
     | 
| 
       25 
     | 
    
         
            -
                  end
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
                  def from(from_mod)
         
     | 
| 
       28 
     | 
    
         
            -
                    until from_mod == Object
         
     | 
| 
       29 
     | 
    
         
            -
                      if from_mod < Universe
         
     | 
| 
       30 
     | 
    
         
            -
                        return from_mod.page_objects_site_class.instance
         
     | 
| 
       31 
     | 
    
         
            -
                      end
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
                      from_mod = from_mod.parent
         
     | 
| 
       34 
     | 
    
         
            -
                    end
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
                    nil
         
     | 
| 
       37 
     | 
    
         
            -
                  end
         
     | 
| 
       38 
     | 
    
         
            -
                end
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
                attr_writer :router
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
                def universe
         
     | 
| 
       43 
     | 
    
         
            -
                  self.class.universe
         
     | 
| 
       44 
     | 
    
         
            -
                end
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
                def path_recognizes_url?(*args)
         
     | 
| 
       47 
     | 
    
         
            -
                  self.router.path_recognizes_url?(*args)
         
     | 
| 
       48 
     | 
    
         
            -
                end
         
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
       50 
     | 
    
         
            -
                def generate_path(*args)
         
     | 
| 
       51 
     | 
    
         
            -
                  self.router.generate_path(*args)
         
     | 
| 
       52 
     | 
    
         
            -
                end
         
     | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
       54 
     | 
    
         
            -
                def router
         
     | 
| 
       55 
     | 
    
         
            -
                  @router ||= ApplicationRouter.new
         
     | 
| 
       56 
     | 
    
         
            -
                end
         
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
     | 
    
         
            -
                def initialize!
         
     | 
| 
       59 
     | 
    
         
            -
                end
         
     | 
| 
       60 
     | 
    
         
            -
              end
         
     | 
| 
       61 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,34 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # lifted from activesupport
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            class Module
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
              # Returns the name of the module containing this one.
         
     | 
| 
       6 
     | 
    
         
            -
              #
         
     | 
| 
       7 
     | 
    
         
            -
              #   M::N.parent_name # => "M"
         
     | 
| 
       8 
     | 
    
         
            -
              def parent_name
         
     | 
| 
       9 
     | 
    
         
            -
                unless defined? @parent_name
         
     | 
| 
       10 
     | 
    
         
            -
                  @parent_name = name =~ /::[^:]+\Z/ ? $`.freeze : nil
         
     | 
| 
       11 
     | 
    
         
            -
                end
         
     | 
| 
       12 
     | 
    
         
            -
                @parent_name
         
     | 
| 
       13 
     | 
    
         
            -
              end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
              # Returns the module which contains this one according to its name.
         
     | 
| 
       16 
     | 
    
         
            -
              #
         
     | 
| 
       17 
     | 
    
         
            -
              #   module M
         
     | 
| 
       18 
     | 
    
         
            -
              #     module N
         
     | 
| 
       19 
     | 
    
         
            -
              #     end
         
     | 
| 
       20 
     | 
    
         
            -
              #   end
         
     | 
| 
       21 
     | 
    
         
            -
              #   X = M::N
         
     | 
| 
       22 
     | 
    
         
            -
              #
         
     | 
| 
       23 
     | 
    
         
            -
              #   M::N.parent # => M
         
     | 
| 
       24 
     | 
    
         
            -
              #   X.parent    # => M
         
     | 
| 
       25 
     | 
    
         
            -
              #
         
     | 
| 
       26 
     | 
    
         
            -
              # The parent of top-level and anonymous modules is Object.
         
     | 
| 
       27 
     | 
    
         
            -
              #
         
     | 
| 
       28 
     | 
    
         
            -
              #   M.parent          # => Object
         
     | 
| 
       29 
     | 
    
         
            -
              #   Module.new.parent # => Object
         
     | 
| 
       30 
     | 
    
         
            -
              #
         
     | 
| 
       31 
     | 
    
         
            -
              def parent
         
     | 
| 
       32 
     | 
    
         
            -
                parent_name ? AePageObjects::Inflector.constantize(parent_name) : Object
         
     | 
| 
       33 
     | 
    
         
            -
              end
         
     | 
| 
       34 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,48 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module AePageObjects
         
     | 
| 
       2 
     | 
    
         
            -
              module Inflector
         
     | 
| 
       3 
     | 
    
         
            -
                extend self
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
                # Ruby 1.9 introduces an inherit argument for Module#const_get and
         
     | 
| 
       6 
     | 
    
         
            -
                # #const_defined? and changes their default behavior.
         
     | 
| 
       7 
     | 
    
         
            -
                if Module.method(:const_get).arity == 1
         
     | 
| 
       8 
     | 
    
         
            -
                  # Tries to find a constant with the name specified in the argument string:
         
     | 
| 
       9 
     | 
    
         
            -
                  #
         
     | 
| 
       10 
     | 
    
         
            -
                  #   "Module".constantize     # => Module
         
     | 
| 
       11 
     | 
    
         
            -
                  #   "Test::Unit".constantize # => Test::Unit
         
     | 
| 
       12 
     | 
    
         
            -
                  #
         
     | 
| 
       13 
     | 
    
         
            -
                  # The name is assumed to be the one of a top-level constant, no matter whether
         
     | 
| 
       14 
     | 
    
         
            -
                  # it starts with "::" or not. No lexical context is taken into account:
         
     | 
| 
       15 
     | 
    
         
            -
                  #
         
     | 
| 
       16 
     | 
    
         
            -
                  #   C = 'outside'
         
     | 
| 
       17 
     | 
    
         
            -
                  #   module M
         
     | 
| 
       18 
     | 
    
         
            -
                  #     C = 'inside'
         
     | 
| 
       19 
     | 
    
         
            -
                  #     C               # => 'inside'
         
     | 
| 
       20 
     | 
    
         
            -
                  #     "C".constantize # => 'outside', same as ::C
         
     | 
| 
       21 
     | 
    
         
            -
                  #   end
         
     | 
| 
       22 
     | 
    
         
            -
                  #
         
     | 
| 
       23 
     | 
    
         
            -
                  # NameError is raised when the name is not in CamelCase or the constant is
         
     | 
| 
       24 
     | 
    
         
            -
                  # unknown.
         
     | 
| 
       25 
     | 
    
         
            -
                  def constantize(camel_cased_word)
         
     | 
| 
       26 
     | 
    
         
            -
                    names = camel_cased_word.split('::')
         
     | 
| 
       27 
     | 
    
         
            -
                    names.shift if names.empty? || names.first.empty?
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                    constant = Object
         
     | 
| 
       30 
     | 
    
         
            -
                    names.each do |name|
         
     | 
| 
       31 
     | 
    
         
            -
                      constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
         
     | 
| 
       32 
     | 
    
         
            -
                    end
         
     | 
| 
       33 
     | 
    
         
            -
                    constant
         
     | 
| 
       34 
     | 
    
         
            -
                  end
         
     | 
| 
       35 
     | 
    
         
            -
                else
         
     | 
| 
       36 
     | 
    
         
            -
                  def constantize(camel_cased_word) #:nodoc:
         
     | 
| 
       37 
     | 
    
         
            -
                    names = camel_cased_word.split('::')
         
     | 
| 
       38 
     | 
    
         
            -
                    names.shift if names.empty? || names.first.empty?
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
                    constant = Object
         
     | 
| 
       41 
     | 
    
         
            -
                    names.each do |name|
         
     | 
| 
       42 
     | 
    
         
            -
                      constant = constant.const_defined?(name, false) ? constant.const_get(name) : constant.const_missing(name)
         
     | 
| 
       43 
     | 
    
         
            -
                    end
         
     | 
| 
       44 
     | 
    
         
            -
                    constant
         
     | 
| 
       45 
     | 
    
         
            -
                  end
         
     | 
| 
       46 
     | 
    
         
            -
                end
         
     | 
| 
       47 
     | 
    
         
            -
              end
         
     | 
| 
       48 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,22 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module AePageObjects
         
     | 
| 
       2 
     | 
    
         
            -
              module Singleton
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
                def instance
         
     | 
| 
       5 
     | 
    
         
            -
                  @instance ||= new
         
     | 
| 
       6 
     | 
    
         
            -
                end
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
                def respond_to?(*args)
         
     | 
| 
       9 
     | 
    
         
            -
                  super || instance.respond_to?(*args)
         
     | 
| 
       10 
     | 
    
         
            -
                end
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
                def configure(&block)
         
     | 
| 
       13 
     | 
    
         
            -
                  class_eval(&block)
         
     | 
| 
       14 
     | 
    
         
            -
                end
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
              protected
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
                def method_missing(*args, &block)
         
     | 
| 
       19 
     | 
    
         
            -
                  instance.send(*args, &block)
         
     | 
| 
       20 
     | 
    
         
            -
                end
         
     | 
| 
       21 
     | 
    
         
            -
              end
         
     | 
| 
       22 
     | 
    
         
            -
            end
         
     |