Sha256: 520cadf89d3809226dab61d4c791a828643fcdfc7cb2fc46133718bfc8c7b259

Contents?: true

Size: 971 Bytes

Versions: 8

Compression:

Stored size: 971 Bytes

Contents

module RSpec
  module Rails
    # Fake class to document RSpec ActiveRecord configuration options. In practice,
    # these are dynamically added to the normal RSpec configuration object.
    class ActiveRecordConfiguration
      # @private
      def self.initialize_activerecord_configuration(config)
        config.before :suite do
          # This allows dynamic columns etc to be used on ActiveRecord models when creating instance_doubles
          if defined?(ActiveRecord) && defined?(ActiveRecord::Base) && defined?(::RSpec::Mocks)
            ::RSpec::Mocks.configuration.when_declaring_verifying_double do |possible_model|
              target = possible_model.target

              if Class === target && ActiveRecord::Base > target && !target.abstract_class?
                target.define_attribute_methods
              end
            end
          end
        end
      end

      initialize_activerecord_configuration RSpec.configuration
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
rspec-rails-3.6.1 lib/rspec/rails/active_record.rb
rspec-rails-3.6.0 lib/rspec/rails/active_record.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/rspec-rails-3.5.2/lib/rspec/rails/active_record.rb
rspec-rails-3.6.0.beta2 lib/rspec/rails/active_record.rb
rspec-rails-3.6.0.beta1 lib/rspec/rails/active_record.rb
rspec-rails-3.5.2 lib/rspec/rails/active_record.rb
rspec-rails-3.5.1 lib/rspec/rails/active_record.rb
rspec-rails-3.5.0 lib/rspec/rails/active_record.rb