Method: Findable::Associations::ClassMethods#has_one

Defined in:
lib/findable/associations.rb

#has_one(*args) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/findable/associations.rb', line 18

def has_one(*args)
  name, options = Utils.parse_args(args)
  model = Utils.model_for(name, **options)
  foreign_key = options[:foreign_key].presence || model_name.name.foreign_key

  define_method(name) do
    model.find_by(foreign_key => public_send(self.class.primary_key))
  end
end