Module: ActiveRecord::Base::CompositeClassMethods

Defined in:
lib/composite_primary_keys/base.rb

Instance Method Summary collapse

Instance Method Details

#composite?Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/composite_primary_keys/base.rb', line 71

def composite?
  true
end

#ids_to_s(many_ids, id_sep = CompositePrimaryKeys::ID_SEP, list_sep = ',', left_bracket = '(', right_bracket = ')') ⇒ Object

ids_to_s([,[7,3]]) -> “(1,2),(7,3)” ids_to_s([,[7,3]], ‘,’, ‘;’) -> “1,2;7,3”



77
78
79
# File 'lib/composite_primary_keys/base.rb', line 77

def ids_to_s(many_ids, id_sep = CompositePrimaryKeys::ID_SEP, list_sep = ',', left_bracket = '(', right_bracket = ')')
  many_ids.map {|ids| "#{left_bracket}#{CompositePrimaryKeys::CompositeKeys.new(ids)}#{right_bracket}"}.join(list_sep)
end

#primary_keyObject



63
64
65
# File 'lib/composite_primary_keys/base.rb', line 63

def primary_key
  primary_keys
end

#primary_key=(keys) ⇒ Object



67
68
69
# File 'lib/composite_primary_keys/base.rb', line 67

def primary_key=(keys)
  self.primary_keys = keys
end

#primary_keysObject



49
50
51
52
53
54
# File 'lib/composite_primary_keys/base.rb', line 49

def primary_keys
  unless defined?(@primary_keys)
    reset_primary_keys
  end
  @primary_keys
end

#reset_primary_keysObject

Don’t like this method name, but its modeled after how AR does it



57
58
59
60
61
# File 'lib/composite_primary_keys/base.rb', line 57

def reset_primary_keys
  if self != base_class
    self.primary_keys = base_class.primary_keys
  end
end