Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Use autoloading instead of requiring all files up front" #1334

Merged
merged 1 commit into from Aug 26, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
25 changes: 12 additions & 13 deletions lib/shoulda/matchers.rb
@@ -1,22 +1,21 @@
require 'shoulda/matchers/configuration'
require 'shoulda/matchers/doublespeak'
require 'shoulda/matchers/error'
require 'shoulda/matchers/independent'
require 'shoulda/matchers/integrations'
require 'shoulda/matchers/matcher_context'
require 'shoulda/matchers/rails_shim'
require 'shoulda/matchers/util'
require 'shoulda/matchers/version'
require 'shoulda/matchers/warn'

require 'shoulda/matchers/action_controller'
require 'shoulda/matchers/active_model'
require 'shoulda/matchers/active_record'
require 'shoulda/matchers/routing'

module Shoulda
module Matchers
autoload :ActionController, 'shoulda/matchers/action_controller'
autoload :ActiveModel, 'shoulda/matchers/active_model'
autoload :ActiveRecord, 'shoulda/matchers/active_record'
autoload :Doublespeak, 'shoulda/matchers/doublespeak'
autoload :Error, 'shoulda/matchers/error'
autoload :Independent, 'shoulda/matchers/independent'
autoload :Integrations, 'shoulda/matchers/integrations'
autoload :MatcherContext, 'shoulda/matchers/matcher_context'
autoload :RailsShim, 'shoulda/matchers/rails_shim'
autoload :Routing, 'shoulda/matchers/routing'
autoload :Util, 'shoulda/matchers/util'
autoload :WordWrap, 'shoulda/matchers/util/word_wrap'

class << self
# @private
attr_accessor :assertion_exception_class
Expand Down
26 changes: 13 additions & 13 deletions lib/shoulda/matchers/action_controller.rb
@@ -1,24 +1,24 @@
require 'shoulda/matchers/action_controller/filter_param_matcher'
require 'shoulda/matchers/action_controller/route_params'
require 'shoulda/matchers/action_controller/set_flash_matcher'
require 'shoulda/matchers/action_controller/render_with_layout_matcher'
require 'shoulda/matchers/action_controller/respond_with_matcher'
require 'shoulda/matchers/action_controller/set_session_matcher'
require 'shoulda/matchers/action_controller/route_matcher'
require 'shoulda/matchers/action_controller/redirect_to_matcher'
require 'shoulda/matchers/action_controller/render_template_matcher'
require 'shoulda/matchers/action_controller/rescue_from_matcher'
require 'shoulda/matchers/action_controller/callback_matcher'
require 'shoulda/matchers/action_controller/permit_matcher'
require 'shoulda/matchers/action_controller/set_session_or_flash_matcher'
require 'shoulda/matchers/action_controller/flash_store'
require 'shoulda/matchers/action_controller/session_store'

module Shoulda
module Matchers
# This module provides matchers that are used to test behavior within
# controllers.
module ActionController
autoload :CallbackMatcher, 'shoulda/matchers/action_controller/callback_matcher'
autoload :FlashStore, 'shoulda/matchers/action_controller/flash_store'
autoload :FilterParamMatcher, 'shoulda/matchers/action_controller/filter_param_matcher'
autoload :PermitMatcher, 'shoulda/matchers/action_controller/permit_matcher'
autoload :RedirectToMatcher, 'shoulda/matchers/action_controller/redirect_to_matcher'
autoload :RenderTemplateMatcher, 'shoulda/matchers/action_controller/render_template_matcher'
autoload :RenderWithLayoutMatcher, 'shoulda/matchers/action_controller/render_with_layout_matcher'
autoload :RescueFromMatcher, 'shoulda/matchers/action_controller/rescue_from_matcher'
autoload :RouteParams, 'shoulda/matchers/action_controller/route_params'
autoload :SessionStore, 'shoulda/matchers/action_controller/session_store'
autoload :SetFlashMatcher, 'shoulda/matchers/action_controller/set_flash_matcher'
autoload :SetSessionMatcher, 'shoulda/matchers/action_controller/set_session_matcher'
autoload :SetSessionOrFlashMatcher, 'shoulda/matchers/action_controller/set_session_or_flash_matcher'
end
end
end
41 changes: 26 additions & 15 deletions lib/shoulda/matchers/active_model.rb
@@ -1,9 +1,34 @@
require 'shoulda/matchers/active_model/allow_mass_assignment_of_matcher'
require 'shoulda/matchers/active_model/helpers'
require 'shoulda/matchers/active_model/qualifiers'
require 'shoulda/matchers/active_model/validation_matcher'
require 'shoulda/matchers/active_model/validation_matcher/build_description'
require 'shoulda/matchers/active_model/validator'
require 'shoulda/matchers/active_model/allow_value_matcher'
require 'shoulda/matchers/active_model/allow_value_matcher/attribute_changed_value_error'
require 'shoulda/matchers/active_model/allow_value_matcher/attribute_does_not_exist_error'
require 'shoulda/matchers/active_model/allow_value_matcher/attribute_setter'
require 'shoulda/matchers/active_model/allow_value_matcher/attribute_setter_and_validator'
require 'shoulda/matchers/active_model/allow_value_matcher/attribute_setters'
require 'shoulda/matchers/active_model/allow_value_matcher/attribute_setters_and_validators'
require 'shoulda/matchers/active_model/allow_value_matcher/successful_check'
require 'shoulda/matchers/active_model/allow_value_matcher/successful_setting'
require 'shoulda/matchers/active_model/disallow_value_matcher'
require 'shoulda/matchers/active_model/validate_length_of_matcher'
require 'shoulda/matchers/active_model/validate_inclusion_of_matcher'
require 'shoulda/matchers/active_model/validate_exclusion_of_matcher'
require 'shoulda/matchers/active_model/validate_absence_of_matcher'
require 'shoulda/matchers/active_model/validate_presence_of_matcher'
require 'shoulda/matchers/active_model/validate_acceptance_of_matcher'
require 'shoulda/matchers/active_model/validate_confirmation_of_matcher'
require 'shoulda/matchers/active_model/validate_numericality_of_matcher'
require 'shoulda/matchers/active_model/numericality_matchers/numeric_type_matcher'
require 'shoulda/matchers/active_model/numericality_matchers/comparison_matcher'
require 'shoulda/matchers/active_model/numericality_matchers/odd_number_matcher'
require 'shoulda/matchers/active_model/numericality_matchers/even_number_matcher'
require 'shoulda/matchers/active_model/numericality_matchers/only_integer_matcher'
require 'shoulda/matchers/active_model/allow_mass_assignment_of_matcher'
require 'shoulda/matchers/active_model/errors'
require 'shoulda/matchers/active_model/have_secure_password_matcher'

module Shoulda
module Matchers
Expand Down Expand Up @@ -64,20 +89,6 @@ module Matchers
# end
#
module ActiveModel
autoload :AllowValueMatcher, 'shoulda/matchers/active_model/allow_value_matcher'
autoload :CouldNotDetermineValueOutsideOfArray, 'shoulda/matchers/active_model/errors'
autoload :CouldNotSetPasswordError, 'shoulda/matchers/active_model/errors'
autoload :DisallowValueMatcher, 'shoulda/matchers/active_model/disallow_value_matcher'
autoload :HaveSecurePasswordMatcher, 'shoulda/matchers/active_model/have_secure_password_matcher'
autoload :NonNullableBooleanError, 'shoulda/matchers/active_model/errors'
autoload :NumericalityMatchers, 'shoulda/matchers/active_model/numericality_matchers'
autoload :ValidateAcceptanceOfMatcher, 'shoulda/matchers/active_model/validate_acceptance_of_matcher'
autoload :ValidateConfirmationOfMatcher, 'shoulda/matchers/active_model/validate_confirmation_of_matcher'
autoload :ValidateExclusionOfMatcher, 'shoulda/matchers/active_model/validate_exclusion_of_matcher'
autoload :ValidateInclusionOfMatcher, 'shoulda/matchers/active_model/validate_inclusion_of_matcher'
autoload :ValidateLengthOfMatcher, 'shoulda/matchers/active_model/validate_length_of_matcher'
autoload :ValidateNumericalityOfMatcher, 'shoulda/matchers/active_model/validate_numericality_of_matcher'
autoload :Validator, 'shoulda/matchers/active_model/validator'
end
end
end
9 changes: 0 additions & 9 deletions lib/shoulda/matchers/active_model/allow_value_matcher.rb
Expand Up @@ -305,15 +305,6 @@ def allow_value(*values)

# @private
class AllowValueMatcher
autoload :AttributeChangedValueError, 'shoulda/matchers/active_model/allow_value_matcher/attribute_changed_value_error'
autoload :AttributeDoesNotExistError, 'shoulda/matchers/active_model/allow_value_matcher/attribute_does_not_exist_error'
autoload :AttributeSetter, 'shoulda/matchers/active_model/allow_value_matcher/attribute_setter'
autoload :AttributeSetterAndValidator, 'shoulda/matchers/active_model/allow_value_matcher/attribute_setter_and_validator'
autoload :AttributeSetters, 'shoulda/matchers/active_model/allow_value_matcher/attribute_setters'
autoload :AttributeSettersAndValidators, 'shoulda/matchers/active_model/allow_value_matcher/attribute_setters_and_validators'
autoload :SuccessfulCheck, 'shoulda/matchers/active_model/allow_value_matcher/successful_check'
autoload :SuccessfulSetting, 'shoulda/matchers/active_model/allow_value_matcher/successful_setting'

include Helpers
include Qualifiers::IgnoringInterferenceByWriter

Expand Down
5 changes: 0 additions & 5 deletions lib/shoulda/matchers/active_model/numericality_matchers.rb
Expand Up @@ -3,11 +3,6 @@ module Matchers
module ActiveModel
# @private
module NumericalityMatchers
autoload :ComparisonMatcher, 'shoulda/matchers/active_model/numericality_matchers/comparison_matcher'
autoload :EvenNumberMatcher, 'shoulda/matchers/active_model/numericality_matchers/even_number_matcher'
autoload :NumericTypeMatcher, 'shoulda/matchers/active_model/numericality_matchers/numeric_type_matcher'
autoload :OddNumberMatcher, 'shoulda/matchers/active_model/numericality_matchers/odd_number_matcher'
autoload :OnlyIntegerMatcher, 'shoulda/matchers/active_model/numericality_matchers/only_integer_matcher'
end
end
end
Expand Down
2 changes: 0 additions & 2 deletions lib/shoulda/matchers/active_model/validation_matcher.rb
Expand Up @@ -3,8 +3,6 @@ module Matchers
module ActiveModel
# @private
class ValidationMatcher
autoload :BuildDescription, 'shoulda/matchers/active_model/validation_matcher/build_description'

include Qualifiers::IgnoringInterferenceByWriter

def initialize(attribute)
Expand Down
38 changes: 25 additions & 13 deletions lib/shoulda/matchers/active_record.rb
@@ -1,23 +1,35 @@
require "shoulda/matchers/active_record/association_matcher"
require "shoulda/matchers/active_record/association_matchers"
require "shoulda/matchers/active_record/association_matchers/counter_cache_matcher"
require "shoulda/matchers/active_record/association_matchers/inverse_of_matcher"
require "shoulda/matchers/active_record/association_matchers/join_table_matcher"
require "shoulda/matchers/active_record/association_matchers/order_matcher"
require "shoulda/matchers/active_record/association_matchers/through_matcher"
require "shoulda/matchers/active_record/association_matchers/dependent_matcher"
require "shoulda/matchers/active_record/association_matchers/required_matcher"
require "shoulda/matchers/active_record/association_matchers/optional_matcher"
require "shoulda/matchers/active_record/association_matchers/source_matcher"
require "shoulda/matchers/active_record/association_matchers/model_reflector"
require "shoulda/matchers/active_record/association_matchers/model_reflection"
require "shoulda/matchers/active_record/association_matchers/option_verifier"
require "shoulda/matchers/active_record/have_db_column_matcher"
require "shoulda/matchers/active_record/have_db_index_matcher"
require "shoulda/matchers/active_record/have_implicit_order_column"
require "shoulda/matchers/active_record/have_readonly_attribute_matcher"
require "shoulda/matchers/active_record/have_rich_text_matcher"
require "shoulda/matchers/active_record/have_secure_token_matcher"
require "shoulda/matchers/active_record/serialize_matcher"
require "shoulda/matchers/active_record/accept_nested_attributes_for_matcher"
require "shoulda/matchers/active_record/define_enum_for_matcher"
require "shoulda/matchers/active_record/uniqueness"
require "shoulda/matchers/active_record/validate_uniqueness_of_matcher"
require "shoulda/matchers/active_record/have_attached_matcher"

module Shoulda
module Matchers
# This module provides matchers that are used to test behavior within
# ActiveRecord classes.
module ActiveRecord
autoload :AcceptNestedAttributesForMatcher, 'shoulda/matchers/active_record/accept_nested_attributes_for_matcher'
autoload :AssociationMatcher, 'shoulda/matchers/active_record/association_matcher'
autoload :AssociationMatchers, 'shoulda/matchers/active_record/association_matchers'
autoload :DefineEnumForMatcher, 'shoulda/matchers/active_record/define_enum_for_matcher'
autoload :HaveAttachedMatcher, 'shoulda/matchers/active_record/have_attached_matcher'
autoload :HaveDbColumnMatcher, 'shoulda/matchers/active_record/have_db_column_matcher'
autoload :HaveDbIndexMatcher, 'shoulda/matchers/active_record/have_db_index_matcher'
autoload :HaveImplicitOrderColumnMatcher, 'shoulda/matchers/active_record/have_implicit_order_column'
autoload :HaveReadonlyAttributeMatcher, 'shoulda/matchers/active_record/have_readonly_attribute_matcher'
autoload :HaveRichText, 'shoulda/matchers/active_record/have_rich_text_matcher'
autoload :HaveSecureTokenMatcher, 'shoulda/matchers/active_record/have_secure_token_matcher'
autoload :SerializeMatcher, 'shoulda/matchers/active_record/serialize_matcher'
autoload :Uniqueness, 'shoulda/matchers/active_record/uniqueness'
end
end
end
12 changes: 0 additions & 12 deletions lib/shoulda/matchers/active_record/association_matchers.rb
Expand Up @@ -3,18 +3,6 @@ module Matchers
module ActiveRecord
# @private
module AssociationMatchers
autoload :CounterCacheMatcher, 'shoulda/matchers/active_record/association_matchers/counter_cache_matcher'
autoload :InverseOfMatcher, 'shoulda/matchers/active_record/association_matchers/inverse_of_matcher'
autoload :JoinTableMatcher, 'shoulda/matchers/active_record/association_matchers/join_table_matcher'
autoload :OrderMatcher, 'shoulda/matchers/active_record/association_matchers/order_matcher'
autoload :ThroughMatcher, 'shoulda/matchers/active_record/association_matchers/through_matcher'
autoload :DependentMatcher, 'shoulda/matchers/active_record/association_matchers/dependent_matcher'
autoload :RequiredMatcher, 'shoulda/matchers/active_record/association_matchers/required_matcher'
autoload :OptionalMatcher, 'shoulda/matchers/active_record/association_matchers/optional_matcher'
autoload :SourceMatcher, 'shoulda/matchers/active_record/association_matchers/source_matcher'
autoload :ModelReflector, 'shoulda/matchers/active_record/association_matchers/model_reflector'
autoload :ModelReflection, 'shoulda/matchers/active_record/association_matchers/model_reflection'
autoload :OptionVerifier, 'shoulda/matchers/active_record/association_matchers/option_verifier'
end
end
end
Expand Down
10 changes: 5 additions & 5 deletions lib/shoulda/matchers/active_record/uniqueness.rb
@@ -1,14 +1,14 @@
module Shoulda
module Matchers
module ActiveRecord
module ActiveModel
# @private
module Uniqueness
autoload :Model, 'shoulda/matchers/active_record/uniqueness/model'
autoload :Namespace, 'shoulda/matchers/active_record/uniqueness/namespace'
autoload :TestModelCreator, 'shoulda/matchers/active_record/uniqueness/test_model_creator'
autoload :TestModels, 'shoulda/matchers/active_record/uniqueness/test_models'
end
end
end
end

require 'shoulda/matchers/active_record/uniqueness/model'
require 'shoulda/matchers/active_record/uniqueness/namespace'
require 'shoulda/matchers/active_record/uniqueness/test_model_creator'
require 'shoulda/matchers/active_record/uniqueness/test_models'
15 changes: 7 additions & 8 deletions lib/shoulda/matchers/doublespeak.rb
Expand Up @@ -4,14 +4,6 @@ module Shoulda
module Matchers
# @private
module Doublespeak
autoload :Double, 'shoulda/matchers/doublespeak/double'
autoload :DoubleCollection, 'shoulda/matchers/doublespeak/double_collection'
autoload :DoubleImplementationRegistry, 'shoulda/matchers/doublespeak/double_implementation_registry'
autoload :MethodCall, 'shoulda/matchers/doublespeak/method_call'
autoload :ObjectDouble, 'shoulda/matchers/doublespeak/object_double'
autoload :ProxyImplementation, 'shoulda/matchers/doublespeak/proxy_implementation'
autoload :World, 'shoulda/matchers/doublespeak/world'

class << self
extend Forwardable

Expand All @@ -36,4 +28,11 @@ def debug(&block)
end
end

require 'shoulda/matchers/doublespeak/double'
require 'shoulda/matchers/doublespeak/double_collection'
require 'shoulda/matchers/doublespeak/double_implementation_registry'
require 'shoulda/matchers/doublespeak/method_call'
require 'shoulda/matchers/doublespeak/object_double'
require 'shoulda/matchers/doublespeak/proxy_implementation'
require 'shoulda/matchers/doublespeak/stub_implementation'
require 'shoulda/matchers/doublespeak/world'
1 change: 1 addition & 0 deletions lib/shoulda/matchers/independent.rb
@@ -1,4 +1,5 @@
require 'shoulda/matchers/independent/delegate_method_matcher'
require 'shoulda/matchers/independent/delegate_method_matcher/target_not_defined_error'

module Shoulda
module Matchers
Expand Down
3 changes: 0 additions & 3 deletions lib/shoulda/matchers/independent/delegate_method_matcher.rb
Expand Up @@ -176,9 +176,6 @@ def delegate_method(delegating_method)

# @private
class DelegateMethodMatcher
autoload :StubbedTarget, 'shoulda/matchers/independent/delegate_method_matcher/stubbed_target'
autoload :DelegateObjectNotSpecified, 'shoulda/matchers/independent/delegate_method_matcher/target_not_defined_error'

def initialize(delegating_method)
@delegating_method = delegating_method

Expand Down
12 changes: 6 additions & 6 deletions lib/shoulda/matchers/integrations.rb
Expand Up @@ -2,12 +2,6 @@ module Shoulda
module Matchers
# @private
module Integrations
autoload :Configuration, 'shoulda/matchers/integrations/configuration'
autoload :ConfigurationError, 'shoulda/matchers/integrations/configuration_error'
autoload :Inclusion, 'shoulda/matchers/integrations/inclusion'
autoload :Rails, 'shoulda/matchers/integrations/rails'
autoload :Registry, 'shoulda/matchers/integrations/registry'

class << self
def register_library(klass, name)
library_registry.register(klass, name)
Expand Down Expand Up @@ -39,5 +33,11 @@ def test_framework_registry
end
end

require 'shoulda/matchers/integrations/configuration'
require 'shoulda/matchers/integrations/configuration_error'
require 'shoulda/matchers/integrations/inclusion'
require 'shoulda/matchers/integrations/rails'
require 'shoulda/matchers/integrations/registry'

require 'shoulda/matchers/integrations/libraries'
require 'shoulda/matchers/integrations/test_frameworks'
6 changes: 2 additions & 4 deletions lib/shoulda/matchers/integrations/test_frameworks.rb
@@ -1,17 +1,15 @@
require 'shoulda/matchers/integrations/test_frameworks/active_support_test_case'
require 'shoulda/matchers/integrations/test_frameworks/minitest_4'
require 'shoulda/matchers/integrations/test_frameworks/minitest_5'
require 'shoulda/matchers/integrations/test_frameworks/missing_test_framework'
require 'shoulda/matchers/integrations/test_frameworks/rspec'
require 'shoulda/matchers/integrations/test_frameworks/test_unit'

module Shoulda
module Matchers
module Integrations
# @private
module TestFrameworks
autoload :ActiveSupportTestCase, 'shoulda/matchers/integrations/test_frameworks/active_support_test_case'
autoload :Minitest4, 'shoulda/matchers/integrations/test_frameworks/minitest_4'
autoload :Minitest5, 'shoulda/matchers/integrations/test_frameworks/minitest_5'
autoload :TestUnit, 'shoulda/matchers/integrations/test_frameworks/test_unit'
end
end
end
Expand Down
2 changes: 2 additions & 0 deletions lib/shoulda/matchers/util.rb
@@ -1,3 +1,5 @@
require 'shoulda/matchers/util/word_wrap'

module Shoulda
module Matchers
# @private
Expand Down