Module: Railsmith::BaseService::EagerLoading

Included in:
Railsmith::BaseService
Defined in:
lib/railsmith/base_service/eager_loading.rb

Overview

Adds a class-level ‘includes` DSL macro for declaring eager loads.

Declared includes are applied automatically in ‘find_record` (via `base_scope`) and in the default `list` action.

Usage:

class OrderService < Railsmith::BaseService
  model Order
  domain :commerce

  includes :line_items, :customer
  includes line_items: [:product, :variant]   # multiple calls are additive
end

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



21
22
23
# File 'lib/railsmith/base_service/eager_loading.rb', line 21

def self.included(base)
  base.extend(ClassMethods)
end