]> git.openstreetmap.org Git - rails.git/blob - vendor/gems/composite_primary_keys-1.1.0/lib/composite_primary_keys/composite_arrays.rb
030c416f3313d408d0d809ce6bf986acd8c3084c
[rails.git] / vendor / gems / composite_primary_keys-1.1.0 / lib / composite_primary_keys / composite_arrays.rb
1 module CompositePrimaryKeys\r
2   ID_SEP     = ','\r
3   ID_SET_SEP = ';'\r
4 \r
5   module ArrayExtension\r
6     def to_composite_keys\r
7       CompositeKeys.new(self)\r
8     end\r
9 \r
10     def to_composite_ids\r
11       CompositeIds.new(self)\r
12     end\r
13   end\r
14 \r
15   class CompositeArray < Array\r
16     def to_s\r
17       join(ID_SEP)\r
18     end\r
19   end\r
20 \r
21   class CompositeKeys < CompositeArray\r
22 \r
23   end\r
24 \r
25   class CompositeIds < CompositeArray\r
26 \r
27   end\r
28 end\r
29 \r
30 Array.send(:include, CompositePrimaryKeys::ArrayExtension)\r