Sha256: 4499ee4258548aac868fbe39c83d4f3bf033052033bef28b0b7905f5d2968671

Contents?: true

Size: 1.34 KB

Versions: 35

Compression:

Stored size: 1.34 KB

Contents

if defined?(ActiveRecord::Base)
  module Spec
    module Rails
      module Extensions
        module ActiveRecord
          module ClassMethods
            # :call-seq:
            #   ModelClass.should have(:no).records
            #   ModelClass.should have(1).record
            #   ModelClass.should have(n).records
            #
            # Extension to enhance <tt>should have</tt> on AR Model classes
            def records
              find(:all)
            end
            alias :record :records
          end

          module InstanceMethods
            # :call-seq:
            #   model.should have(:no).errors_on(:attribute)
            #   model.should have(1).error_on(:attribute)
            #   model.should have(n).errors_on(:attribute)
            #
            # Extension to enhance <tt>should have</tt> on AR Model instances.
            # Calls model.valid? in order to prepare the object's errors
            # object.
            def errors_on(attribute)
              self.valid?
              [self.errors.on(attribute)].flatten.compact
            end
            alias :error_on :errors_on
          end
        end
      end
    end
  end
  
  module ActiveRecord #:nodoc:
    class Base
      extend  Spec::Rails::Extensions::ActiveRecord::ClassMethods
      include Spec::Rails::Extensions::ActiveRecord::InstanceMethods
    end
  end
end

Version data entries

35 entries across 35 versions & 8 rubygems

Version Path
cavalle-rspec-rails-1.2.2.0.1 lib/spec/rails/extensions/active_record/base.rb
cavalle-rspec-rails-1.2.2.0.2 lib/spec/rails/extensions/active_record/base.rb
cavalle-rspec-rails-1.2.3.1 lib/spec/rails/extensions/active_record/base.rb
cavalle-rspec-rails-1.2.4.0.1 lib/spec/rails/extensions/active_record/base.rb
dchelimsky-rspec-rails-1.1.99.13 lib/spec/rails/extensions/active_record/base.rb
dchelimsky-rspec-rails-1.1.99.6 lib/spec/rails/extensions/active_record/base.rb
dchelimsky-rspec-rails-1.1.99.7 lib/spec/rails/extensions/active_record/base.rb
dchelimsky-rspec-rails-1.1.99.8 lib/spec/rails/extensions/active_record/base.rb
dchelimsky-rspec-rails-1.1.99.9 lib/spec/rails/extensions/active_record/base.rb
radiant-1.0.0 ruby-debug/ruby/1.8/gems/rspec-rails-1.3.4/lib/spec/rails/extensions/active_record/base.rb
richzhou-rspec-rails-1.3.4 lib/spec/rails/extensions/active_record/base.rb
rspec-rails-1.3.4 lib/spec/rails/extensions/active_record/base.rb
rspec-rails-1.3.3 lib/spec/rails/extensions/active_record/base.rb
rspec-rails-1.3.3.rc lib/spec/rails/extensions/active_record/base.rb
exception2db-0.0.1 test/rspec-rails/lib/spec/rails/extensions/active_record/base.rb
rspec-rails-w-factory_girl-1.3.2.1 lib/spec/rails/extensions/active_record/base.rb
rspec-rails-w-factory_girl-1.3.2 lib/spec/rails/extensions/active_record/base.rb
rspec-rails-1.3.2 lib/spec/rails/extensions/active_record/base.rb
rspec-rails-1.3.1 lib/spec/rails/extensions/active_record/base.rb
rspec-rails-1.3.0 lib/spec/rails/extensions/active_record/base.rb