Module: Jsonapi::Include::ClassMethods

Defined in:
lib/jsonapi/scopes/includes.rb

Instance Method Summary collapse

Instance Method Details

#apply_includes(params) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/jsonapi/scopes/includes.rb', line 16

def apply_includes(params)
  records = all
  filtering_params = params.dig(:filter) || {}

  filtering_params.each do |key, value|
    value = value.to_s.split(',').reject(&:blank?)

    records = records.public_send(key, value) if @includes.include?(key.to_sym)
  end

  records
end

#includes(name) ⇒ Object



12
13
14
# File 'lib/jsonapi/scopes/includes.rb', line 12

def includes(name)
  @includes << name
end