Module: CuteKV::Associations::ClassMethods

Defined in:
lib/cute_kv/associations.rb

Instance Method Summary collapse

Instance Method Details

#backendObject



143
144
145
# File 'lib/cute_kv/associations.rb', line 143

def backend
  @backend
end

#connect(class_obj) ⇒ Object



128
129
130
131
# File 'lib/cute_kv/associations.rb', line 128

def connect(class_obj)
  @backend = class_obj.backend
  @class_obj = class_obj
end

#create(key, ids = []) ⇒ Object



137
138
139
140
141
# File 'lib/cute_kv/associations.rb', line 137

def create(key,ids=[])
  ids = serialize ids
  @backend[key] = ids
  new(key, ids)
end

#draw(k, v, object, r_v, r_k) ⇒ Object



155
156
157
158
# File 'lib/cute_kv/associations.rb', line 155

def draw(k, v, object, r_v, r_k)
  key = gen_key(k, v, object, r_v, r_k)
  find_or_create(key)
end

#find(key) ⇒ Object



133
134
135
# File 'lib/cute_kv/associations.rb', line 133

def find(key)
  new(key, @backend[key]) if @backend[key]
end

#find_or_create(key) ⇒ Object



147
148
149
# File 'lib/cute_kv/associations.rb', line 147

def find_or_create(key)
  find(key) || create(key, [])
end

#gen_key(k, v, object, r_v, r_k) ⇒ Object



151
152
153
# File 'lib/cute_kv/associations.rb', line 151

def gen_key(k, v, object, r_v, r_k)
  key = "#{k}##{v}##{object.id}#relations##{r_v}##{r_k}"
end