class Couchbase::Model::Relationship::Association

Attributes

auto_delete[R]
auto_load[R]
auto_save[R]
class_name[R]
name[RW]

Public Class Methods

new(name, options = {}) click to toggle source
# File lib/couchbase/model/relationship/association.rb, line 8
def initialize(name, options = {})
  self.name = name.to_s
  @auto_save = options[:auto_save]
  @auto_delete = options[:auto_delete]
  @class_name = options[:class_name]
  @auto_load = options.key?(:auto_load) ? options[:auto_load] : true
end

Public Instance Methods

child_class() click to toggle source
# File lib/couchbase/model/relationship/association.rb, line 34
def child_class
  child_klass.constantize
end
child_klass() click to toggle source
# File lib/couchbase/model/relationship/association.rb, line 30
def child_klass
  @class_name || name.classify
end
fetch(parent) click to toggle source
# File lib/couchbase/model/relationship/association.rb, line 20
def fetch(parent)
  parent.send(name)
end
load(parent) click to toggle source
# File lib/couchbase/model/relationship/association.rb, line 24
def load(parent)
  child_id = child_class.prefixed_id(parent.id)

  child_class.find_by_id(child_id)
end
loaded?(parent) click to toggle source
# File lib/couchbase/model/relationship/association.rb, line 16
def loaded?(parent)
  parent.send("#{name}_loaded?")
end
prefix() click to toggle source
# File lib/couchbase/model/relationship/association.rb, line 38
def prefix
  child_class.id_prefix
end