Module: E2Model::ClassMethods

Defined in:
lib/engine2/core.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#natural_keyObject (readonly)

Returns the value of attribute natural_key.



257
258
259
# File 'lib/engine2/core.rb', line 257

def natural_key
  @natural_key
end

Instance Method Details

#primary_keysObject



264
265
266
267
268
# File 'lib/engine2/core.rb', line 264

def primary_keys
    # cache it ?
    key = primary_key
    key.is_a?(Array) ? key : [key]
end

#primary_keys_hash(id) ⇒ Object



275
276
277
# File 'lib/engine2/core.rb', line 275

def primary_keys_hash id
    Hash[primary_keys.zip(id)]
end

#primary_keys_hash_qualified(id) ⇒ Object



279
280
281
# File 'lib/engine2/core.rb', line 279

def primary_keys_hash_qualified id
    Hash[primary_keys_qualified.zip(id)]
end

#primary_keys_qualifiedObject



270
271
272
273
# File 'lib/engine2/core.rb', line 270

def primary_keys_qualified
    # cache it ?
    primary_keys.map{|k|k.qualify(table_name)}
end

#set_natural_key(key) ⇒ Object



259
260
261
262
# File 'lib/engine2/core.rb', line 259

def set_natural_key key
    set_primary_key key
    @natural_key = true
end