Module: ActiveRecord::Base::CompositeClassMethods
- Defined in:
- lib/composite_primary_keys/base.rb
Instance Method Summary collapse
- #composite? ⇒ Boolean
-
#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”.
- #primary_key ⇒ Object
- #primary_key=(keys) ⇒ Object
-
#relation ⇒ Object
:nodoc:.
Instance Method Details
#composite? ⇒ Boolean
78 79 80 |
# File 'lib/composite_primary_keys/base.rb', line 78 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”
84 85 86 |
# File 'lib/composite_primary_keys/base.rb', line 84 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_key ⇒ Object
70 71 72 |
# File 'lib/composite_primary_keys/base.rb', line 70 def primary_key primary_keys end |
#primary_key=(keys) ⇒ Object
74 75 76 |
# File 'lib/composite_primary_keys/base.rb', line 74 def primary_key=(keys) primary_keys = keys end |
#relation ⇒ Object
:nodoc:
88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/composite_primary_keys/base.rb', line 88 def relation #:nodoc: @relation ||= begin result = Relation.new(self, arel_table) # CPK class << result include CompositePrimaryKeys::ActiveRecord::FinderMethods::InstanceMethods include CompositePrimaryKeys::ActiveRecord::Relation::InstanceMethods end result end finder_needs_type_condition? ? @relation.where(type_condition) : @relation end |