class JsonApiPreloader::AssociationsChecker

Attributes

association[R]
parent[R]

Public Class Methods

associations() click to toggle source
# File lib/json_api_preloader/associations_checker.rb, line 16
def self.associations
  @associations ||= AssociationsBuilder.associations
end
new(parent, association) click to toggle source
# File lib/json_api_preloader/associations_checker.rb, line 5
def initialize(parent, association)
  @parent = parent
  @association = association
end

Public Instance Methods

call() click to toggle source
# File lib/json_api_preloader/associations_checker.rb, line 10
def call
  return unless parent_klass_associations.present?

  child_klass_associations&.fetch(association)
end

Private Instance Methods

child_klass_associations() click to toggle source
# File lib/json_api_preloader/associations_checker.rb, line 29
def child_klass_associations
  @child_klass_associations ||=
    parent_klass_associations[:associations]
    .detect { |el| el.key?(association) }
end
parent_klass_associations() click to toggle source
# File lib/json_api_preloader/associations_checker.rb, line 24
def parent_klass_associations
  @parent_klass_associations ||=
    self.class.associations.detect { |el| el[:name] == parent }
end