2 # Copyright (c) 2006 Nic Williams
4 # Permission is hereby granted, free of charge, to any person obtaining
5 # a copy of this software and associated documentation files (the
6 # "Software"), to deal in the Software without restriction, including
7 # without limitation the rights to use, copy, modify, merge, publish,
8 # distribute, sublicense, and/or sell copies of the Software, and to
9 # permit persons to whom the Software is furnished to do so, subject to
10 # the following conditions:
12 # The above copyright notice and this permission notice shall be
13 # included in all copies or substantial portions of the Software.
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 $:.unshift(File.dirname(__FILE__)) unless
25 $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
27 unless defined?(ActiveRecord)
29 require 'active_record'
32 require_gem 'activerecord'
36 require 'composite_primary_keys/fixtures'
37 require 'composite_primary_keys/composite_arrays'
38 require 'composite_primary_keys/associations'
39 require 'composite_primary_keys/association_preload'
40 require 'composite_primary_keys/reflection'
41 require 'composite_primary_keys/base'
42 require 'composite_primary_keys/calculations'
43 require 'composite_primary_keys/migration'
44 require 'composite_primary_keys/attribute_methods'
46 ActiveRecord::Base.class_eval do
47 include CompositePrimaryKeys::ActiveRecord::Base
50 Dir[File.dirname(__FILE__) + '/composite_primary_keys/connection_adapters/*.rb'].each do |adapter|
52 require adapter.gsub('.rb','')
53 rescue MissingSourceFile