- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0 (0)
- 3.0.9 (-38)
- 3.1.0 (0)
- 3.2.1 (0)
- 3.2.8 (0)
- 3.2.13 (0)
- 4.0.2 (0)
- 4.1.8 (0)
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (13)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (0)
- 7.1.3.4 (0)
- What's this?
Active Record Relation
Constants
VALUE_METHODS = MULTI_VALUE_METHODS + SINGLE_VALUE_METHODS + CLAUSE_METHODS
INVALID_METHODS_FOR_DELETE_ALL = [:distinct, :group, :having]
CLAUSE_METHODS = [:where, :having, :from]
SINGLE_VALUE_METHODS = [:limit, :offset, :lock, :readonly, :reordering, :strict_loading, :reverse_order, :distinct, :create_with, :skip_query_cache]
MULTI_VALUE_METHODS = [:includes, :eager_load, :preload, :select, :group, :order, :joins, :left_outer_joins, :references, :extending, :unscope, :optimizer_hints, :annotate]
Attributes
[R] | loaded? | |
[R] | model | |
[RW] | skip_preloading_value | |
[R] | predicate_builder | |
[R] | loaded | |
[R] | klass | |
[R] | table |
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(...) }