class
ActiveRecord::Relation
v4.1.8 -
Show latest stable
- Superclass: Object
Active Record Relation
Included modules
- ActiveRecord::Batches
- ActiveRecord::Calculations
- ActiveRecord::Delegation
- ActiveRecord::Explain
- ActiveRecord::FinderMethods
- ActiveRecord::QueryMethods
- ActiveRecord::SpawnMethods
Constants
JoinOperation = Struct.new(:relation, :join_class, :on)
MULTI_VALUE_METHODS = [:includes, :eager_load, :preload, :select, :group,\n:order, :joins, :where, :having, :bind, :references,\n:extending, :unscope]
SINGLE_VALUE_METHODS = [:limit, :offset, :lock, :readonly, :from, :reordering,\n:reverse_order, :distinct, :create_with, :uniq]
VALUE_METHODS = MULTI_VALUE_METHODS + SINGLE_VALUE_METHODS
Attributes
| [R] | klass |
| [R] | loaded |
| [R] | loaded? |
| [R] | model |
| [R] | table |
Files
- activerecord/lib/active_record/relation.rb
- activerecord/lib/active_record/relation/merger.rb
1Note
expect_any_instance_of(ActiveRecord::Relation).to receive(:create_with) and others do not work
If you're doing
expect_any_instance_of(ActiveRecord::Relation).to receive(:create_with)
and it does not work, try:
expect_any_instance_of(ActiveRecord::Associations::CollectionProxy).to receive(:create_with) { |proxy, attributes|
expect(proxy.klass).to eq(RecordClass)
expect(attributes[:....]).to eq(...)
double('find_or_create_by!' => Proc.new {})
}
or when testing "find_or_create_by"
expect_any_instance_of(ActiveRecord::Associations::CollectionProxy).to receive(:find_or_create_by) { |proxy, attributes|
expect(proxy.klass).to eq(RecordClass)
expect(attributes[:....]).to eq(...)
}