Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: v2.0.0.beta.22
Fetching contributors…

Cannot retrieve contributors at this time

45 lines (41 sloc) 1.365 kb
module RSpec
module Rails
if using_active_record?
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[attribute]].flatten.compact
end
alias :error_on :errors_on
end
end
end
class ::ActiveRecord::Base #:nodoc:
extend RSpec::Rails::Extensions::ActiveRecord::ClassMethods
include RSpec::Rails::Extensions::ActiveRecord::InstanceMethods
end
end
end
end
Jump to Line
Something went wrong with that request. Please try again.