class PlainModel::AssociationBuilder
Attributes
model_class[R]
options[R]
Public Class Methods
new(model_class, options = {})
click to toggle source
# File lib/plain_model/association_builder.rb, line 7 def initialize(model_class, options = {}) @model_class = model_class @options = options end
Public Instance Methods
load_records(name, records, context: nil, includes: [])
click to toggle source
# File lib/plain_model/association_builder.rb, line 12 def load_records(name, records, context: nil, includes: []) apply = options.fetch(:apply) { :"_records_for_#{name}" } args = [records, context: context, includes: includes, association: name] if apply.is_a?(Symbol) model_class.public_send(apply, *args) else model_class.instance_exec(*args, &apply) end end