From b6b42214d14608d3b701d3327e495090900b97dd Mon Sep 17 00:00:00 2001 From: Donnie Tognazzini Date: Mon, 24 Jun 2013 01:40:09 -0700 Subject: [PATCH 1/4] removing all path support --- lib/ae_page_objects.rb | 8 +- lib/ae_page_objects/core/application.rb | 40 +------ lib/ae_page_objects/core/configuration.rb | 15 --- lib/ae_page_objects/core/constant_resolver.rb | 38 ------- lib/ae_page_objects/core/dependencies_hook.rb | 7 -- test/test_apps/shared/test/page_objects.rb | 10 +- .../test/page_objects/authors/new_page.rb | 100 +++++++++--------- .../test/page_objects/books/new_page.rb | 38 ++++--- .../selenium/page_object_integration_test.rb | 24 ++--- test/unit/application_test.rb | 21 ---- test/unit/constant_resolver_test.rb | 59 ----------- test/unit/dependencies_hook_test.rb | 57 ---------- 12 files changed, 86 insertions(+), 331 deletions(-) delete mode 100644 lib/ae_page_objects/core/configuration.rb delete mode 100644 lib/ae_page_objects/core/constant_resolver.rb delete mode 100644 lib/ae_page_objects/core/dependencies_hook.rb delete mode 100644 test/unit/constant_resolver_test.rb delete mode 100644 test/unit/dependencies_hook_test.rb diff --git a/lib/ae_page_objects.rb b/lib/ae_page_objects.rb index d1539e73..6e0a3307 100644 --- a/lib/ae_page_objects.rb +++ b/lib/ae_page_objects.rb @@ -5,16 +5,12 @@ require 'active_support/core_ext/hash/keys' require 'active_support/core_ext/object/try' require 'active_support/core_ext/class' -require 'active_support/dependencies' +require 'active_support/core_ext/module/introspection' require 'ae_page_objects/version' module AePageObjects autoload :Universe, 'ae_page_objects/core/universe' - autoload :ConstantResolver, 'ae_page_objects/core/constant_resolver' - autoload :DependenciesHook, 'ae_page_objects/core/dependencies_hook' - autoload :Installable, 'ae_page_objects/core/installable' - autoload :Configuration, 'ae_page_objects/core/configuration' autoload :Singleton, 'ae_page_objects/core/singleton' autoload :Application, 'ae_page_objects/core/application' autoload :ApplicationRouter, 'ae_page_objects/core/application_router' @@ -44,8 +40,6 @@ module Concerns autoload :Checkbox, 'ae_page_objects/elements/checkbox' end -ActiveSupport::Dependencies.extend AePageObjects::DependenciesHook - diff --git a/lib/ae_page_objects/core/application.rb b/lib/ae_page_objects/core/application.rb index 65d02d30..04a0e49a 100644 --- a/lib/ae_page_objects/core/application.rb +++ b/lib/ae_page_objects/core/application.rb @@ -5,19 +5,11 @@ class Application class << self private :new - attr_accessor :called_from - delegate :initialize!, :to => :instance - delegate :config, :to => :instance def inherited(application_class) super - application_class.called_from = begin - call_stack = caller.map { |p| p.sub(/:\d+.*/, '') } - File.dirname(call_stack.detect { |p| p !~ %r[railties[\w.-]*/lib/rails|rack[\w.-]*/lib/rack] }) - end - application_class.universe.send(:include, Universe) application_class.universe.page_objects_application_class = application_class end @@ -41,42 +33,14 @@ def from(from_mod) delegate :universe, :to => 'self.class' - delegate :paths, :to => :config - delegate :router, :to => :config - delegate :path_recognizes_url?, :to => :router delegate :generate_path, :to => :router - def config - @config ||= Configuration.new(self) + def router + @router ||= ApplicationRouter.new end def initialize! - ActiveSupport::Dependencies.autoload_paths.unshift(*paths) - eager_load! - end - - def resolve_constant(from_mod, const_name) - resolver = ConstantResolver.new(self, from_mod, const_name) - - resolved = nil - paths.each do |path| - break if resolved = resolver.load_constant_from_path(path) - end - resolved - end - - private - - def eager_load! - paths.each do |path| - matcher = /\A#{Regexp.escape(path)}\/(.*)\.rb\Z/ - - Dir.glob("#{path}/**/*.rb").sort.each do |file| - dependency_name = file.sub(matcher, '\1') - require_dependency dependency_name - end - end end end end diff --git a/lib/ae_page_objects/core/configuration.rb b/lib/ae_page_objects/core/configuration.rb deleted file mode 100644 index ad2b4a8b..00000000 --- a/lib/ae_page_objects/core/configuration.rb +++ /dev/null @@ -1,15 +0,0 @@ -module AePageObjects - class Configuration - attr_accessor :router, :paths - - def initialize(application) - @application = application - @paths = [application.class.called_from] - end - - def router - @router ||= ApplicationRouter.new - end - end -end - diff --git a/lib/ae_page_objects/core/constant_resolver.rb b/lib/ae_page_objects/core/constant_resolver.rb deleted file mode 100644 index 10f4b5fe..00000000 --- a/lib/ae_page_objects/core/constant_resolver.rb +++ /dev/null @@ -1,38 +0,0 @@ -module AePageObjects - class ConstantResolver - def initialize(application, from_mod, const_name) - @application = application - @from_mod = from_mod - @const_name = const_name - - @path_for_constant = path_for_constant - end - - def load_constant_from_path(path) - file_path = File.join(path, "#{@path_for_constant}.rb").sub(/(\.rb)?$/, ".rb") - - if File.file?(file_path) && ! ActiveSupport::Dependencies.loaded.include?(File.expand_path(file_path)) - ActiveSupport::Dependencies.require_or_load file_path - - unless ActiveSupport::Dependencies.local_const_defined?(@from_mod, @const_name) - qualified_name = ActiveSupport::Dependencies.qualified_name_for(@from_mod, @const_name) - raise LoadError, "Expected #{@file_path} to define #{qualified_name}" - end - - @from_mod.const_get(@const_name) - end - end - - private - - def path_for_constant - name_within_universe = "" - if @application.universe != @from_mod - name_within_universe = @from_mod.name.split("#{@application.universe.name}::")[1] - end - - name_within_universe += "::#{@const_name}" - name_within_universe.underscore - end - end -end \ No newline at end of file diff --git a/lib/ae_page_objects/core/dependencies_hook.rb b/lib/ae_page_objects/core/dependencies_hook.rb deleted file mode 100644 index cefb6375..00000000 --- a/lib/ae_page_objects/core/dependencies_hook.rb +++ /dev/null @@ -1,7 +0,0 @@ -module AePageObjects - module DependenciesHook - def load_missing_constant(from_mod, const_name) - Application.from(from_mod).try(:resolve_constant, from_mod, const_name) || super - end - end -end \ No newline at end of file diff --git a/test/test_apps/shared/test/page_objects.rb b/test/test_apps/shared/test/page_objects.rb index 8807e37c..14eaa1cf 100644 --- a/test/test_apps/shared/test/page_objects.rb +++ b/test/test_apps/shared/test/page_objects.rb @@ -1,12 +1,10 @@ require 'ae_page_objects' -module TestApp - module PageObjects - class Application < ::AePageObjects::Application +ActiveSupport::Dependencies.autoload_paths << "test" - # TODO - add something to config.paths to ensure it works - end +module PageObjects + class Application < ::AePageObjects::Application end end -TestApp::PageObjects::Application.initialize! \ No newline at end of file +PageObjects::Application.initialize! \ No newline at end of file diff --git a/test/test_apps/shared/test/page_objects/authors/new_page.rb b/test/test_apps/shared/test/page_objects/authors/new_page.rb index 568f59b5..c9360be8 100644 --- a/test/test_apps/shared/test/page_objects/authors/new_page.rb +++ b/test/test_apps/shared/test/page_objects/authors/new_page.rb @@ -1,56 +1,54 @@ -module TestApp - module PageObjects - module Authors - class NewPage < ::AePageObjects::Document - - path :new_author - - form_for "author" do - element :first_name - element :last_name - - collection :books, - :name => "books_attributes", - :locator => "#author_books", - :row_xpath => ".//*[contains(@class, 'some-books-fool')]//*[contains(@class,'row') and not(contains(@style,'display'))]" do - element :title - end +module PageObjects + module Authors + class NewPage < ::AePageObjects::Document + + path :new_author + + form_for "author" do + element :first_name + element :last_name + + collection :books, + :name => "books_attributes", + :locator => "#author_books", + :row_xpath => ".//*[contains(@class, 'some-books-fool')]//*[contains(@class,'row') and not(contains(@style,'display'))]" do + element :title + end + end + + class Rating < ::AePageObjects::Element + element :star, :locator => ".star" + + def show_star + find(".show_star").click end - - class Rating < ::AePageObjects::Element - element :star, :locator => ".star" - - def show_star - find(".show_star").click - end - - def hide_star - find(".hide_star").click - end - - def remove_star - find(".remove_star").click - end + + def hide_star + find(".hide_star").click + end + + def remove_star + find(".remove_star").click end - - element :missing, :locator => "#does_not_exist" - - element :rating, :is => Rating, :locator => "#rating" - - element :nested_rating, :name => "nested_rating_attributes", :locator => "#rating" do - element :star, :locator => ".star" - - def show_star - find(".show_star").click - end - - def hide_star - find(".hide_star").click - end - - def remove_star - find(".remove_star").click - end + end + + element :missing, :locator => "#does_not_exist" + + element :rating, :is => Rating, :locator => "#rating" + + element :nested_rating, :name => "nested_rating_attributes", :locator => "#rating" do + element :star, :locator => ".star" + + def show_star + find(".show_star").click + end + + def hide_star + find(".hide_star").click + end + + def remove_star + find(".remove_star").click end end end diff --git a/test/test_apps/shared/test/page_objects/books/new_page.rb b/test/test_apps/shared/test/page_objects/books/new_page.rb index 2006813a..4c496307 100644 --- a/test/test_apps/shared/test/page_objects/books/new_page.rb +++ b/test/test_apps/shared/test/page_objects/books/new_page.rb @@ -1,24 +1,22 @@ -module TestApp - module PageObjects - module Books - class NewPage < ::AePageObjects::Document - - path :new_book - - def loaded_locator - "form#new_book" +module PageObjects + module Books + class NewPage < ::AePageObjects::Document + + path :new_book + + def loaded_locator + "form#new_book" + end + + form_for "book" do + element :title + + element :index, :name => "index_attributes", :locator => "#book_index" do + element :pages end - - form_for "book" do - element :title - - element :index, :name => "index_attributes", :locator => "#book_index" do - element :pages - end - - element :author, :name => "author_attributes" do - element :first_name - end + + element :author, :name => "author_attributes" do + element :first_name end end end diff --git a/test/test_apps/shared/test/selenium/page_object_integration_test.rb b/test/test_apps/shared/test/selenium/page_object_integration_test.rb index 34c2754b..bb966f2b 100644 --- a/test/test_apps/shared/test/selenium/page_object_integration_test.rb +++ b/test/test_apps/shared/test/selenium/page_object_integration_test.rb @@ -3,30 +3,30 @@ class PageObjectIntegrationTest < Selenium::TestCase def test_application_setup - assert TestApp::PageObjects < AePageObjects::Universe - assert_equal TestApp::PageObjects, TestApp::PageObjects::Application.universe - assert_equal TestApp::PageObjects::Application.instance, TestApp::PageObjects::Authors::NewPage.send(:application) - assert_equal TestApp::PageObjects::Application, TestApp::PageObjects.page_objects_application_class + assert PageObjects < AePageObjects::Universe + assert_equal PageObjects, PageObjects::Application.universe + assert_equal PageObjects::Application.instance, PageObjects::Authors::NewPage.send(:application) + assert_equal PageObjects::Application, PageObjects.page_objects_application_class end def test_load_ensuring visit("/books/new") exception = assert_raises AePageObjects::LoadingFailed do - TestApp::PageObjects::Authors::NewPage.new + PageObjects::Authors::NewPage.new end - assert_equal "TestApp::PageObjects::Authors::NewPage cannot be loaded with url '/books/new'", exception.message + assert_equal "PageObjects::Authors::NewPage cannot be loaded with url '/books/new'", exception.message visit("/authors/new") assert_nothing_raised do - TestApp::PageObjects::Authors::NewPage.new + PageObjects::Authors::NewPage.new end end def test_simple_form - new_page = TestApp::PageObjects::Books::NewPage.visit + new_page = PageObjects::Books::NewPage.visit assert_equal "", new_page.title.value assert_equal "", new_page.index.pages.value @@ -41,7 +41,7 @@ def test_simple_form end def test_complex_form - new_author_page = TestApp::PageObjects::Authors::NewPage.visit + new_author_page = PageObjects::Authors::NewPage.visit assert_equal "", new_author_page.first_name.value assert_equal "", new_author_page.last_name.value assert_equal "", new_author_page.books.first.title.value @@ -62,7 +62,7 @@ def test_complex_form end def test_element_proxy - author = TestApp::PageObjects::Authors::NewPage.visit + author = PageObjects::Authors::NewPage.visit assert author.rating.star.present? assert author.rating.star.visible? assert_false author.rating.star.not_present? @@ -91,7 +91,7 @@ def test_element_proxy end def test_element_proxy__not_present - author = TestApp::PageObjects::Authors::NewPage.visit + author = PageObjects::Authors::NewPage.visit assert_false author.missing.present? assert author.missing.not_present? rescue => e @@ -100,7 +100,7 @@ def test_element_proxy__not_present end def test_element_proxy__nested - author = TestApp::PageObjects::Authors::NewPage.visit + author = PageObjects::Authors::NewPage.visit assert author.nested_rating.star.present? author.nested_rating.hide_star diff --git a/test/unit/application_test.rb b/test/unit/application_test.rb index eb76e669..5ced7919 100644 --- a/test/unit/application_test.rb +++ b/test/unit/application_test.rb @@ -50,26 +50,5 @@ def test_from__nested_marked_module Ma.expects(:page_objects_application_class).returns(mock(:instance => application_instance)) assert_equal application_instance, Application.from(Ma::Rk::Ed::Mod::Ule) end - - module TestPageObjects - class MyApplication < AePageObjects::Application - config.paths << "hello" - config.paths << "kitty" - - module KittyPalace - end - end - end - - def test_resolve_constant - application = TestPageObjects::MyApplication.instance - assert_equal [TestPageObjects::MyApplication.called_from, "hello", "kitty"], application.paths - - ConstantResolver.any_instance.expects(:load_constant_from_path).with(TestPageObjects::MyApplication.called_from).returns(nil) - ConstantResolver.any_instance.expects(:load_constant_from_path).with("hello").returns(nil) - ConstantResolver.any_instance.expects(:load_constant_from_path).with("kitty").returns("constant") - - assert_equal "constant", application.resolve_constant(TestPageObjects::MyApplication::KittyPalace, :HelloKitty) - end end end \ No newline at end of file diff --git a/test/unit/constant_resolver_test.rb b/test/unit/constant_resolver_test.rb deleted file mode 100644 index afa0ceb0..00000000 --- a/test/unit/constant_resolver_test.rb +++ /dev/null @@ -1,59 +0,0 @@ -require 'unit_helper' - -module AePageObjects - class ConstantResolverTest < ActiveSupport::TestCase - - module MarkedModule - include AePageObjects::Universe - - module NestedModule - end - end - - def test_load_missing_page_objects_constant__file_does_not_exist - application_stub = stub(:universe => MarkedModule) - resolver = ConstantResolver.new(application_stub, MarkedModule::NestedModule, :Whatever) - File.expects(:file?).with("root_path/nested_module/whatever.rb").returns(false) - assert_nil resolver.load_constant_from_path("root_path") - end - - def test_load_missing_page_objects_constant__module_loaded - application_stub = stub(:universe => MarkedModule) - resolver = ConstantResolver.new(application_stub, MarkedModule::NestedModule, :Whatever) - File.expects(:file?).with("root_path/nested_module/whatever.rb").returns(true) - ActiveSupport::Dependencies.loaded.expects(:include?).with(includes("root_path/nested_module/whatever.rb")).returns(true) - - assert_nil resolver.load_constant_from_path("root_path") - end - - def test_load_missing_page_objects_constant__module_does_not_define_const - application_stub = stub(:universe => MarkedModule) - - resolver = ConstantResolver.new(application_stub, MarkedModule::NestedModule, :Whatever) - - File.expects(:file?).with("root_path/nested_module/whatever.rb").returns(true) - ActiveSupport::Dependencies.loaded.expects(:include?).with(includes("root_path/nested_module/whatever.rb")).returns(false) - ActiveSupport::Dependencies.expects(:require_or_load).with("root_path/nested_module/whatever.rb") - ActiveSupport::Dependencies.expects(:local_const_defined?).with(MarkedModule::NestedModule, :Whatever).returns(false) - - assert_raises LoadError do - resolver.load_constant_from_path("root_path") - end - end - - def test_load_missing_page_objects_constant__const_found - application_stub = stub(:universe => MarkedModule) - - resolver = ConstantResolver.new(application_stub, MarkedModule::NestedModule, :Whatever) - - File.expects(:file?).with("root_path/nested_module/whatever.rb").returns(true) - ActiveSupport::Dependencies.loaded.expects(:include?).with(includes("root_path/nested_module/whatever.rb")).returns(false) - ActiveSupport::Dependencies.expects(:require_or_load).with("root_path/nested_module/whatever.rb") - ActiveSupport::Dependencies.expects(:local_const_defined?).with(MarkedModule::NestedModule, :Whatever).returns(true) - - MarkedModule::NestedModule.expects(:const_get).with(:Whatever).returns('yay') - - assert_equal 'yay', resolver.load_constant_from_path("root_path") - end - end -end \ No newline at end of file diff --git a/test/unit/dependencies_hook_test.rb b/test/unit/dependencies_hook_test.rb deleted file mode 100644 index be4bc292..00000000 --- a/test/unit/dependencies_hook_test.rb +++ /dev/null @@ -1,57 +0,0 @@ -require 'unit_helper' - -module AePageObjects - class DependenciesHookTest < ActiveSupport::TestCase - - def test_no_application - non_marked_module = Object - - mod = create_test_mod - mod.expects(:load_missing_constant_sink).with(non_marked_module, :Whatever) - - Application.expects(:from).with(non_marked_module).returns(nil) - mod.load_missing_constant(non_marked_module, :Whatever) - end - - def test_marked_module__constant_found - marked_module = Module.new - - application_mock = mock() - application_mock.expects(:resolve_constant).with(marked_module, :Whatever).returns("whatever") - Application.expects(:from).with(marked_module).returns(application_mock) - - mod = create_test_mod - mod.expects(:load_missing_constant_sink).never - - assert_equal "whatever", mod.load_missing_constant(marked_module, :Whatever) - end - - def test_marked_module__constant_not_found - marked_module = Module.new - - application_mock = mock() - application_mock.expects(:resolve_constant).with(marked_module, :Whatever).returns(nil) - Application.expects(:from).with(marked_module).returns(application_mock) - - mod = create_test_mod - mod.expects(:load_missing_constant_sink).with(marked_module, :Whatever).returns("not_found") - - assert_equal "not_found", mod.load_missing_constant(marked_module, :Whatever) - end - - protected - - def create_test_mod - tracer = Module.new do - def load_missing_constant(from_mod, const_name) - load_missing_constant_sink(from_mod, const_name) - end - end - - Module.new.tap do |mod| - mod.extend tracer - mod.extend AePageObjects::DependenciesHook - end - end - end -end \ No newline at end of file From 772a1abcf6bb12676dfdcfe0f60ee0081582cd8f Mon Sep 17 00:00:00 2001 From: Donnie Tognazzini Date: Mon, 24 Jun 2013 01:59:11 -0700 Subject: [PATCH 2/4] prepping for release --- ae_page_objects.gemspec | 2 +- gemfiles/3.0.gemfile.lock | 2 +- gemfiles/3.1.gemfile.lock | 2 +- gemfiles/3.2.gemfile.lock | 2 +- lib/ae_page_objects/version.rb | 2 +- test/test_apps/3.0/Gemfile.lock | 4 ++-- test/test_apps/3.1/Gemfile.lock | 2 +- test/test_apps/3.2/Gemfile.lock | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ae_page_objects.gemspec b/ae_page_objects.gemspec index 40668f6f..f2a7a661 100644 --- a/ae_page_objects.gemspec +++ b/ae_page_objects.gemspec @@ -7,7 +7,7 @@ Gem::Specification.new do |s| s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["Donnie Tognazzini"] - s.date = "2013-06-12" + s.date = "2013-06-24" s.description = "Capybara Page Objects pattern" s.email = ["engineering@appfolio.com"] diff --git a/gemfiles/3.0.gemfile.lock b/gemfiles/3.0.gemfile.lock index 078eafae..5e475047 100644 --- a/gemfiles/3.0.gemfile.lock +++ b/gemfiles/3.0.gemfile.lock @@ -1,7 +1,7 @@ PATH remote: .. specs: - ae_page_objects (0.1.3) + ae_page_objects (0.1.3.rl1) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9) diff --git a/gemfiles/3.1.gemfile.lock b/gemfiles/3.1.gemfile.lock index a17e1da0..57490f3e 100644 --- a/gemfiles/3.1.gemfile.lock +++ b/gemfiles/3.1.gemfile.lock @@ -1,7 +1,7 @@ PATH remote: .. specs: - ae_page_objects (0.1.3) + ae_page_objects (0.1.3.rl1) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9) diff --git a/gemfiles/3.2.gemfile.lock b/gemfiles/3.2.gemfile.lock index 4d05d840..c6a56dc5 100644 --- a/gemfiles/3.2.gemfile.lock +++ b/gemfiles/3.2.gemfile.lock @@ -1,7 +1,7 @@ PATH remote: .. specs: - ae_page_objects (0.1.3) + ae_page_objects (0.1.3.rl1) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9) diff --git a/lib/ae_page_objects/version.rb b/lib/ae_page_objects/version.rb index a109a9a1..e4d2d8af 100644 --- a/lib/ae_page_objects/version.rb +++ b/lib/ae_page_objects/version.rb @@ -1,3 +1,3 @@ module AePageObjects - VERSION = '0.1.3'.freeze + VERSION = '0.1.3.rl1'.freeze end diff --git a/test/test_apps/3.0/Gemfile.lock b/test/test_apps/3.0/Gemfile.lock index 5a39d333..9f206e4a 100644 --- a/test/test_apps/3.0/Gemfile.lock +++ b/test/test_apps/3.0/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../../.. specs: - ae_page_objects (0.1.3) + ae_page_objects (0.1.3.rl1) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9) @@ -64,7 +64,7 @@ GEM mime-types (1.22) mocha (0.13.3) metaclass (~> 0.0.1) - multi_json (1.7.6) + multi_json (1.7.7) nokogiri (1.5.9) polyglot (0.3.3) rack (1.2.8) diff --git a/test/test_apps/3.1/Gemfile.lock b/test/test_apps/3.1/Gemfile.lock index 005af13c..026d734b 100644 --- a/test/test_apps/3.1/Gemfile.lock +++ b/test/test_apps/3.1/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../../.. specs: - ae_page_objects (0.1.3) + ae_page_objects (0.1.3.rl1) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9) diff --git a/test/test_apps/3.2/Gemfile.lock b/test/test_apps/3.2/Gemfile.lock index 103661f7..e7711d60 100644 --- a/test/test_apps/3.2/Gemfile.lock +++ b/test/test_apps/3.2/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../../.. specs: - ae_page_objects (0.1.3) + ae_page_objects (0.1.3.rl1) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9) From 1201e080bb3d38d10c74c80f772a1cd3277673fa Mon Sep 17 00:00:00 2001 From: Donnie Tognazzini Date: Tue, 2 Jul 2013 18:03:54 -0700 Subject: [PATCH 3/4] allow router to be configured at the class level --- lib/ae_page_objects/core/application.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/ae_page_objects/core/application.rb b/lib/ae_page_objects/core/application.rb index 04a0e49a..843a8eba 100644 --- a/lib/ae_page_objects/core/application.rb +++ b/lib/ae_page_objects/core/application.rb @@ -5,7 +5,7 @@ class Application class << self private :new - delegate :initialize!, :to => :instance + delegate :initialize!, :router=, :to => :instance def inherited(application_class) super @@ -31,6 +31,8 @@ def from(from_mod) end end + attr_writer :router + delegate :universe, :to => 'self.class' delegate :path_recognizes_url?, :to => :router From f17136d5ef50e7e402ebae4052787bfd47ca1636 Mon Sep 17 00:00:00 2001 From: Donnie Tognazzini Date: Tue, 2 Jul 2013 18:10:01 -0700 Subject: [PATCH 4/4] preparing for release --- ae_page_objects.gemspec | 2 +- gemfiles/3.0.gemfile.lock | 2 +- gemfiles/3.1.gemfile.lock | 2 +- gemfiles/3.2.gemfile.lock | 2 +- lib/ae_page_objects/version.rb | 2 +- test/test_apps/3.0/Gemfile.lock | 2 +- test/test_apps/3.1/Gemfile.lock | 2 +- test/test_apps/3.2/Gemfile.lock | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ae_page_objects.gemspec b/ae_page_objects.gemspec index f2a7a661..147fa820 100644 --- a/ae_page_objects.gemspec +++ b/ae_page_objects.gemspec @@ -7,7 +7,7 @@ Gem::Specification.new do |s| s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["Donnie Tognazzini"] - s.date = "2013-06-24" + s.date = "2013-07-02" s.description = "Capybara Page Objects pattern" s.email = ["engineering@appfolio.com"] diff --git a/gemfiles/3.0.gemfile.lock b/gemfiles/3.0.gemfile.lock index 5e475047..6295393e 100644 --- a/gemfiles/3.0.gemfile.lock +++ b/gemfiles/3.0.gemfile.lock @@ -1,7 +1,7 @@ PATH remote: .. specs: - ae_page_objects (0.1.3.rl1) + ae_page_objects (0.1.3.rl2) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9) diff --git a/gemfiles/3.1.gemfile.lock b/gemfiles/3.1.gemfile.lock index 57490f3e..8bb7373b 100644 --- a/gemfiles/3.1.gemfile.lock +++ b/gemfiles/3.1.gemfile.lock @@ -1,7 +1,7 @@ PATH remote: .. specs: - ae_page_objects (0.1.3.rl1) + ae_page_objects (0.1.3.rl2) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9) diff --git a/gemfiles/3.2.gemfile.lock b/gemfiles/3.2.gemfile.lock index c6a56dc5..7f6962fd 100644 --- a/gemfiles/3.2.gemfile.lock +++ b/gemfiles/3.2.gemfile.lock @@ -1,7 +1,7 @@ PATH remote: .. specs: - ae_page_objects (0.1.3.rl1) + ae_page_objects (0.1.3.rl2) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9) diff --git a/lib/ae_page_objects/version.rb b/lib/ae_page_objects/version.rb index e4d2d8af..ca895e6a 100644 --- a/lib/ae_page_objects/version.rb +++ b/lib/ae_page_objects/version.rb @@ -1,3 +1,3 @@ module AePageObjects - VERSION = '0.1.3.rl1'.freeze + VERSION = '0.1.3.rl2'.freeze end diff --git a/test/test_apps/3.0/Gemfile.lock b/test/test_apps/3.0/Gemfile.lock index 9f206e4a..60cade2f 100644 --- a/test/test_apps/3.0/Gemfile.lock +++ b/test/test_apps/3.0/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../../.. specs: - ae_page_objects (0.1.3.rl1) + ae_page_objects (0.1.3.rl2) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9) diff --git a/test/test_apps/3.1/Gemfile.lock b/test/test_apps/3.1/Gemfile.lock index 026d734b..4c239eb1 100644 --- a/test/test_apps/3.1/Gemfile.lock +++ b/test/test_apps/3.1/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../../.. specs: - ae_page_objects (0.1.3.rl1) + ae_page_objects (0.1.3.rl2) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9) diff --git a/test/test_apps/3.2/Gemfile.lock b/test/test_apps/3.2/Gemfile.lock index e7711d60..3c81bf2e 100644 --- a/test/test_apps/3.2/Gemfile.lock +++ b/test/test_apps/3.2/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../../.. specs: - ae_page_objects (0.1.3.rl1) + ae_page_objects (0.1.3.rl2) activesupport (~> 3.0) capybara (~> 1.1) nokogiri (~> 1.5.9)