Module: Goldiloader::RelationPatch
- Defined in:
- lib/goldiloader/active_record_patches.rb
Instance Method Summary collapse
- #auto_include(auto_include = true) ⇒ Object
- #auto_include!(auto_include = true) ⇒ Object
- #auto_include_value ⇒ Object
- #auto_include_value=(value) ⇒ Object
- #exec_queries ⇒ Object
Instance Method Details
#auto_include(auto_include = true) ⇒ Object
40 41 42 |
# File 'lib/goldiloader/active_record_patches.rb', line 40 def auto_include(auto_include = true) spawn.auto_include!(auto_include) end |
#auto_include!(auto_include = true) ⇒ Object
44 45 46 47 |
# File 'lib/goldiloader/active_record_patches.rb', line 44 def auto_include!(auto_include = true) self.auto_include_value = auto_include self end |
#auto_include_value ⇒ Object
49 50 51 52 |
# File 'lib/goldiloader/active_record_patches.rb', line 49 def auto_include_value # Note: Don't use get_value because that doesn't work properly with defaulting boolean values @values.fetch(:auto_include, true) end |
#auto_include_value=(value) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/goldiloader/active_record_patches.rb', line 54 def auto_include_value=(value) if Goldiloader::Compatibility.rails_4? raise ::ActiveRecord::Relation::ImmutableRelation if @loaded check_cached_relation @values[:auto_include] = value elsif Goldiloader::Compatibility.rails_5_0? assert_mutability! @values[:auto_include] = value else set_value(:auto_include, value) end end |
#exec_queries ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/goldiloader/active_record_patches.rb', line 32 def exec_queries return super if loaded? || !auto_include_value models = super Goldiloader::AutoIncludeContext.register_models(models, eager_load_values) models end |