tenacity 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. data/EXTEND.rdoc +9 -13
  2. data/Rakefile +6 -0
  3. data/history.txt +17 -0
  4. data/lib/tenacity.rb +13 -9
  5. data/lib/tenacity/associate_proxy.rb +56 -0
  6. data/lib/tenacity/associates_proxy.rb +5 -3
  7. data/lib/tenacity/association.rb +81 -9
  8. data/lib/tenacity/associations/belongs_to.rb +28 -16
  9. data/lib/tenacity/associations/has_many.rb +113 -53
  10. data/lib/tenacity/associations/has_one.rb +33 -14
  11. data/lib/tenacity/class_methods.rb +117 -9
  12. data/lib/tenacity/errors.rb +9 -0
  13. data/lib/tenacity/instance_methods.rb +40 -3
  14. data/lib/tenacity/orm_ext/activerecord.rb +114 -95
  15. data/lib/tenacity/orm_ext/couchrest.rb +132 -113
  16. data/lib/tenacity/orm_ext/datamapper.rb +138 -112
  17. data/lib/tenacity/orm_ext/helpers.rb +36 -0
  18. data/lib/tenacity/orm_ext/mongo_mapper.rb +102 -84
  19. data/lib/tenacity/orm_ext/mongoid.rb +106 -87
  20. data/lib/tenacity/orm_ext/sequel.rb +137 -110
  21. data/lib/tenacity/version.rb +1 -1
  22. data/tenacity.gemspec +2 -1
  23. data/test/association_features/belongs_to_test.rb +46 -1
  24. data/test/association_features/has_many_test.rb +187 -2
  25. data/test/association_features/has_one_test.rb +57 -2
  26. data/test/associations/belongs_to_test.rb +41 -7
  27. data/test/associations/has_many_test.rb +59 -10
  28. data/test/associations/has_one_test.rb +57 -2
  29. data/test/fixtures/active_record_car.rb +5 -4
  30. data/test/fixtures/active_record_climate_control_unit.rb +1 -0
  31. data/test/fixtures/active_record_engine.rb +1 -0
  32. data/test/fixtures/active_record_has_many_target.rb +7 -0
  33. data/test/fixtures/active_record_has_one_target.rb +7 -0
  34. data/test/fixtures/active_record_object.rb +19 -0
  35. data/test/fixtures/couch_rest_has_many_target.rb +7 -0
  36. data/test/fixtures/couch_rest_has_one_target.rb +7 -0
  37. data/test/fixtures/couch_rest_object.rb +14 -0
  38. data/test/fixtures/data_mapper_has_many_target.rb +23 -3
  39. data/test/fixtures/data_mapper_has_one_target.rb +23 -3
  40. data/test/fixtures/data_mapper_object.rb +14 -0
  41. data/test/fixtures/mongo_mapper_air_filter.rb +6 -0
  42. data/test/fixtures/mongo_mapper_alternator.rb +7 -0
  43. data/test/fixtures/mongo_mapper_autosave_false_has_many_target.rb +8 -0
  44. data/test/fixtures/mongo_mapper_autosave_false_has_one_target.rb +8 -0
  45. data/test/fixtures/mongo_mapper_autosave_true_has_many_target.rb +8 -0
  46. data/test/fixtures/mongo_mapper_autosave_true_has_one_target.rb +8 -0
  47. data/test/fixtures/mongo_mapper_circuit_board.rb +6 -0
  48. data/test/fixtures/mongo_mapper_dashboard.rb +5 -2
  49. data/test/fixtures/mongo_mapper_has_many_target.rb +7 -0
  50. data/test/fixtures/mongo_mapper_has_one_target.rb +7 -0
  51. data/test/fixtures/mongo_mapper_object.rb +14 -0
  52. data/test/fixtures/mongo_mapper_wheel.rb +2 -0
  53. data/test/fixtures/mongo_mapper_windows.rb +6 -0
  54. data/test/fixtures/mongoid_has_many_target.rb +7 -0
  55. data/test/fixtures/mongoid_has_one_target.rb +7 -0
  56. data/test/fixtures/mongoid_object.rb +14 -0
  57. data/test/fixtures/sequel_has_many_target.rb +7 -0
  58. data/test/fixtures/sequel_has_one_target.rb +7 -0
  59. data/test/fixtures/sequel_object.rb +14 -0
  60. data/test/helpers/active_record_test_helper.rb +87 -8
  61. data/test/helpers/couch_rest_test_helper.rb +7 -0
  62. data/test/helpers/data_mapper_test_helper.rb +41 -3
  63. data/test/helpers/sequel_test_helper.rb +65 -9
  64. data/test/orm_ext/activerecord_test.rb +1 -1
  65. data/test/orm_ext/datamapper_test.rb +33 -24
  66. data/test/orm_ext/mongo_mapper_test.rb +6 -6
  67. data/test/orm_ext/mongoid_test.rb +6 -6
  68. data/test/orm_ext/sequel_test.rb +1 -1
  69. data/test/test_helper.rb +18 -9
  70. metadata +119 -55
@@ -15,5 +15,19 @@ class CouchRestObject < CouchRest::Model::Base
15
15
  t_has_many :mongo_mapper_has_many_targets
16
16
  require_mongoid { t_has_many :mongoid_has_many_targets }
17
17
  t_has_many :sequel_has_many_targets
18
+
19
+ t_has_one :active_record_has_one_target, :as => :active_record_has_one_target_testable
20
+ t_has_one :couch_rest_has_one_target, :as => :couch_rest_has_one_target_testable
21
+ t_has_one :data_mapper_has_one_target, :as => :data_mapper_has_one_target_testable
22
+ t_has_one :mongo_mapper_has_one_target, :as => :mongo_mapper_has_one_target_testable
23
+ require_mongoid { t_has_one :mongoid_has_one_target, :as => :mongoid_has_one_target_testable }
24
+ t_has_one :sequel_has_one_target, :as => :sequel_has_one_target_testable
25
+
26
+ t_has_many :active_record_has_many_targets, :as => :active_record_has_many_target_testable
27
+ t_has_many :couch_rest_has_many_targets, :as => :couch_rest_has_many_target_testable
28
+ t_has_many :data_mapper_has_many_targets, :as => :data_mapper_has_many_target_testable
29
+ t_has_many :mongo_mapper_has_many_targets, :as => :mongo_mapper_has_many_target_testable
30
+ require_mongoid { t_has_many :mongoid_has_many_targets, :as => :mongoid_has_many_target_testable }
31
+ t_has_many :sequel_has_many_targets, :as => :sequel_has_many_target_testable
18
32
  end
19
33
 
@@ -3,12 +3,25 @@ class DataMapperHasManyTarget
3
3
  include Tenacity
4
4
 
5
5
  property :id, Serial
6
- property :active_record_object_id, String
6
+ property :active_record_object_id, Integer
7
7
  property :couch_rest_object_id, String
8
- property :data_mapper_object_id, String
8
+ property :data_mapper_object_id, Integer
9
9
  property :mongo_mapper_object_id, String
10
10
  property :mongoid_object_id, String
11
- property :sequel_object_id, String
11
+ property :sequel_object_id, Integer
12
+
13
+ property :active_record_has_many_target_testable_id, String
14
+ property :active_record_has_many_target_testable_type, String
15
+ property :couch_rest_has_many_target_testable_id, String
16
+ property :couch_rest_has_many_target_testable_type, String
17
+ property :data_mapper_has_many_target_testable_id, String
18
+ property :data_mapper_has_many_target_testable_type, String
19
+ property :mongo_mapper_has_many_target_testable_id, String
20
+ property :mongo_mapper_has_many_target_testable_type, String
21
+ property :mongoid_has_many_target_testable_id, String
22
+ property :mongoid_has_many_target_testable_type, String
23
+ property :sequel_has_many_target_testable_id, String
24
+ property :sequel_has_many_target_testable_type, String
12
25
 
13
26
  t_belongs_to :active_record_object
14
27
  t_belongs_to :couch_rest_object
@@ -16,4 +29,11 @@ class DataMapperHasManyTarget
16
29
  t_belongs_to :mongo_mapper_object
17
30
  require_mongoid { t_belongs_to :mongoid_object }
18
31
  t_belongs_to :sequel_object
32
+
33
+ t_belongs_to :active_record_has_many_target_testable, :polymorphic => true
34
+ t_belongs_to :couch_rest_has_many_target_testable, :polymorphic => true
35
+ t_belongs_to :data_mapper_has_many_target_testable, :polymorphic => true
36
+ t_belongs_to :mongo_mapper_has_many_target_testable, :polymorphic => true
37
+ require_mongoid { t_belongs_to :mongoid_has_many_target_testable, :polymorphic => true }
38
+ t_belongs_to :sequel_has_many_target_testable, :polymorphic => true
19
39
  end
@@ -3,12 +3,25 @@ class DataMapperHasOneTarget
3
3
  include Tenacity
4
4
 
5
5
  property :id, Serial
6
- property :active_record_object_id, String
6
+ property :active_record_object_id, Integer
7
7
  property :couch_rest_object_id, String
8
- property :data_mapper_object_id, String
8
+ property :data_mapper_object_id, Integer
9
9
  property :mongo_mapper_object_id, String
10
10
  property :mongoid_object_id, String
11
- property :sequel_object_id, String
11
+ property :sequel_object_id, Integer
12
+
13
+ property :active_record_has_one_target_testable_id, String
14
+ property :active_record_has_one_target_testable_type, String
15
+ property :couch_rest_has_one_target_testable_id, String
16
+ property :couch_rest_has_one_target_testable_type, String
17
+ property :data_mapper_has_one_target_testable_id, String
18
+ property :data_mapper_has_one_target_testable_type, String
19
+ property :mongo_mapper_has_one_target_testable_id, String
20
+ property :mongo_mapper_has_one_target_testable_type, String
21
+ property :mongoid_has_one_target_testable_id, String
22
+ property :mongoid_has_one_target_testable_type, String
23
+ property :sequel_has_one_target_testable_id, String
24
+ property :sequel_has_one_target_testable_type, String
12
25
 
13
26
  t_belongs_to :active_record_object
14
27
  t_belongs_to :couch_rest_object
@@ -16,4 +29,11 @@ class DataMapperHasOneTarget
16
29
  t_belongs_to :mongo_mapper_object
17
30
  require_mongoid { t_belongs_to :mongoid_object }
18
31
  t_belongs_to :sequel_object
32
+
33
+ t_belongs_to :active_record_has_one_target_testable, :polymorphic => true
34
+ t_belongs_to :couch_rest_has_one_target_testable, :polymorphic => true
35
+ t_belongs_to :data_mapper_has_one_target_testable, :polymorphic => true
36
+ t_belongs_to :mongo_mapper_has_one_target_testable, :polymorphic => true
37
+ require_mongoid { t_belongs_to :mongoid_has_one_target_testable, :polymorphic => true }
38
+ t_belongs_to :sequel_has_one_target_testable, :polymorphic => true
19
39
  end
@@ -17,4 +17,18 @@ class DataMapperObject
17
17
  t_has_many :mongo_mapper_has_many_targets
18
18
  require_mongoid { t_has_many :mongoid_has_many_targets }
19
19
  t_has_many :sequel_has_many_targets
20
+
21
+ t_has_one :active_record_has_one_target, :as => :active_record_has_one_target_testable
22
+ t_has_one :couch_rest_has_one_target, :as => :couch_rest_has_one_target_testable
23
+ t_has_one :data_mapper_has_one_target, :as => :data_mapper_has_one_target_testable
24
+ t_has_one :mongo_mapper_has_one_target, :as => :mongo_mapper_has_one_target_testable
25
+ require_mongoid { t_has_one :mongoid_has_one_target, :as => :mongoid_has_one_target_testable }
26
+ t_has_one :sequel_has_one_target, :as => :sequel_has_one_target_testable
27
+
28
+ t_has_many :active_record_has_many_targets, :as => :active_record_has_many_target_testable
29
+ t_has_many :couch_rest_has_many_targets, :as => :couch_rest_has_many_target_testable
30
+ t_has_many :data_mapper_has_many_targets, :as => :data_mapper_has_many_target_testable
31
+ t_has_many :mongo_mapper_has_many_targets, :as => :mongo_mapper_has_many_target_testable
32
+ require_mongoid { t_has_many :mongoid_has_many_targets, :as => :mongoid_has_many_target_testable }
33
+ t_has_many :sequel_has_many_targets, :as => :sequel_has_many_target_testable
20
34
  end
@@ -0,0 +1,6 @@
1
+ class MongoMapperAirFilter
2
+ include MongoMapper::Document
3
+ include Tenacity
4
+
5
+ t_belongs_to :active_record_engine, :dependent => :destroy, :readonly => true
6
+ end
@@ -0,0 +1,7 @@
1
+ class MongoMapperAlternator
2
+ include MongoMapper::Document
3
+ include Tenacity
4
+
5
+ t_belongs_to :active_record_engine, :dependent => :delete
6
+ t_has_one :mongo_mapper_circuit_board, :as => :diagnosable
7
+ end
@@ -0,0 +1,8 @@
1
+ class MongoMapperAutosaveFalseHasManyTarget
2
+ include MongoMapper::Document
3
+ include Tenacity
4
+
5
+ key :prop, String
6
+
7
+ t_belongs_to :active_record_object
8
+ end
@@ -0,0 +1,8 @@
1
+ class MongoMapperAutosaveFalseHasOneTarget
2
+ include MongoMapper::Document
3
+ include Tenacity
4
+
5
+ key :prop, String
6
+
7
+ t_belongs_to :active_record_object
8
+ end
@@ -0,0 +1,8 @@
1
+ class MongoMapperAutosaveTrueHasManyTarget
2
+ include MongoMapper::Document
3
+ include Tenacity
4
+
5
+ key :prop, String
6
+
7
+ t_belongs_to :active_record_object
8
+ end
@@ -0,0 +1,8 @@
1
+ class MongoMapperAutosaveTrueHasOneTarget
2
+ include MongoMapper::Document
3
+ include Tenacity
4
+
5
+ key :prop, String
6
+
7
+ t_belongs_to :active_record_object, :autosave => true
8
+ end
@@ -0,0 +1,6 @@
1
+ class MongoMapperCircuitBoard
2
+ include MongoMapper::Document
3
+ include Tenacity
4
+
5
+ t_belongs_to :diagnosable, :polymorphic => true
6
+ end
@@ -2,10 +2,13 @@ class MongoMapperDashboard
2
2
  include MongoMapper::Document
3
3
  include Tenacity
4
4
 
5
+ key :prop, String
6
+
5
7
  t_belongs_to :active_record_car
6
8
  t_has_one :active_record_climate_control_unit
7
- t_has_one :couch_rest_radio
8
9
 
9
10
  t_has_many :vents, :class_name => 'MongoMapperVent', :foreign_keys_property => 'dashboard_vent_ids'
10
- t_has_one :ash_tray, :class_name => 'MongoMapperAshTray'
11
+ t_has_one :ash_tray, :class_name => 'MongoMapperAshTray', :dependent => :destroy
12
+
13
+ t_has_many :mongo_mapper_circuit_boards, :as => :diagnosable
11
14
  end
@@ -8,4 +8,11 @@ class MongoMapperHasManyTarget
8
8
  t_belongs_to :mongo_mapper_object
9
9
  require_mongoid { t_belongs_to :mongoid_object }
10
10
  t_belongs_to :sequel_object
11
+
12
+ t_belongs_to :active_record_has_many_target_testable, :polymorphic => true
13
+ t_belongs_to :couch_rest_has_many_target_testable, :polymorphic => true
14
+ t_belongs_to :data_mapper_has_many_target_testable, :polymorphic => true
15
+ t_belongs_to :mongo_mapper_has_many_target_testable, :polymorphic => true
16
+ require_mongoid { t_belongs_to :mongoid_has_many_target_testable, :polymorphic => true }
17
+ t_belongs_to :sequel_has_many_target_testable, :polymorphic => true
11
18
  end
@@ -8,4 +8,11 @@ class MongoMapperHasOneTarget
8
8
  t_belongs_to :mongo_mapper_object
9
9
  require_mongoid { t_belongs_to :mongoid_object }
10
10
  t_belongs_to :sequel_object
11
+
12
+ t_belongs_to :active_record_has_one_target_testable, :polymorphic => true
13
+ t_belongs_to :couch_rest_has_one_target_testable, :polymorphic => true
14
+ t_belongs_to :data_mapper_has_one_target_testable, :polymorphic => true
15
+ t_belongs_to :mongo_mapper_has_one_target_testable, :polymorphic => true
16
+ require_mongoid { t_belongs_to :mongoid_has_one_target_testable, :polymorphic => true }
17
+ t_belongs_to :sequel_has_one_target_testable, :polymorphic => true
11
18
  end
@@ -15,4 +15,18 @@ class MongoMapperObject
15
15
  t_has_many :mongo_mapper_has_many_targets
16
16
  require_mongoid { t_has_many :mongoid_has_many_targets }
17
17
  t_has_many :sequel_has_many_targets
18
+
19
+ t_has_one :active_record_has_one_target, :as => :active_record_has_one_target_testable
20
+ t_has_one :couch_rest_has_one_target, :as => :couch_rest_has_one_target_testable
21
+ t_has_one :data_mapper_has_one_target, :as => :data_mapper_has_one_target_testable
22
+ t_has_one :mongo_mapper_has_one_target, :as => :mongo_mapper_has_one_target_testable
23
+ require_mongoid { t_has_one :mongoid_has_one_target, :as => :mongoid_has_one_target_testable }
24
+ t_has_one :sequel_has_one_target, :as => :sequel_has_one_target_testable
25
+
26
+ t_has_many :active_record_has_many_targets, :as => :active_record_has_many_target_testable
27
+ t_has_many :couch_rest_has_many_targets, :as => :couch_rest_has_many_target_testable
28
+ t_has_many :data_mapper_has_many_targets, :as => :data_mapper_has_many_target_testable
29
+ t_has_many :mongo_mapper_has_many_targets, :as => :mongo_mapper_has_many_target_testable
30
+ require_mongoid { t_has_many :mongoid_has_many_targets, :as => :mongoid_has_many_target_testable }
31
+ t_has_many :sequel_has_many_targets, :as => :sequel_has_many_target_testable
18
32
  end
@@ -2,6 +2,8 @@ class MongoMapperWheel
2
2
  include MongoMapper::Document
3
3
  include Tenacity
4
4
 
5
+ key :prop, String
6
+
5
7
  t_belongs_to :active_record_car
6
8
  t_has_many :active_record_nuts, :join_table => 'nuts_and_wheels', :association_foreign_key => 'nut_id'
7
9
  end
@@ -0,0 +1,6 @@
1
+ class MongoMapperWindow
2
+ include MongoMapper::Document
3
+ include Tenacity
4
+
5
+ t_belongs_to :active_record_car
6
+ end
@@ -9,5 +9,12 @@ require_mongoid do
9
9
  t_belongs_to :mongo_mapper_object
10
10
  t_belongs_to :mongoid_object
11
11
  t_belongs_to :sequel_object
12
+
13
+ t_belongs_to :active_record_has_many_target_testable, :polymorphic => true
14
+ t_belongs_to :couch_rest_has_many_target_testable, :polymorphic => true
15
+ t_belongs_to :data_mapper_has_many_target_testable, :polymorphic => true
16
+ t_belongs_to :mongo_mapper_has_many_target_testable, :polymorphic => true
17
+ require_mongoid { t_belongs_to :mongoid_has_many_target_testable, :polymorphic => true }
18
+ t_belongs_to :sequel_has_many_target_testable, :polymorphic => true
12
19
  end
13
20
  end
@@ -9,5 +9,12 @@ require_mongoid do
9
9
  t_belongs_to :mongo_mapper_object
10
10
  t_belongs_to :mongoid_object
11
11
  t_belongs_to :sequel_object
12
+
13
+ t_belongs_to :active_record_has_one_target_testable, :polymorphic => true
14
+ t_belongs_to :couch_rest_has_one_target_testable, :polymorphic => true
15
+ t_belongs_to :data_mapper_has_one_target_testable, :polymorphic => true
16
+ t_belongs_to :mongo_mapper_has_one_target_testable, :polymorphic => true
17
+ require_mongoid { t_belongs_to :mongoid_has_one_target_testable, :polymorphic => true }
18
+ t_belongs_to :sequel_has_one_target_testable, :polymorphic => true
12
19
  end
13
20
  end
@@ -16,5 +16,19 @@ require_mongoid do
16
16
  t_has_many :mongo_mapper_has_many_targets
17
17
  t_has_many :mongoid_has_many_targets
18
18
  t_has_many :sequel_has_many_targets
19
+
20
+ t_has_one :active_record_has_one_target, :as => :active_record_has_one_target_testable
21
+ t_has_one :couch_rest_has_one_target, :as => :couch_rest_has_one_target_testable
22
+ t_has_one :data_mapper_has_one_target, :as => :data_mapper_has_one_target_testable
23
+ t_has_one :mongo_mapper_has_one_target, :as => :mongo_mapper_has_one_target_testable
24
+ require_mongoid { t_has_one :mongoid_has_one_target, :as => :mongoid_has_one_target_testable }
25
+ t_has_one :sequel_has_one_target, :as => :sequel_has_one_target_testable
26
+
27
+ t_has_many :active_record_has_many_targets, :as => :active_record_has_many_target_testable
28
+ t_has_many :couch_rest_has_many_targets, :as => :couch_rest_has_many_target_testable
29
+ t_has_many :data_mapper_has_many_targets, :as => :data_mapper_has_many_target_testable
30
+ t_has_many :mongo_mapper_has_many_targets, :as => :mongo_mapper_has_many_target_testable
31
+ require_mongoid { t_has_many :mongoid_has_many_targets, :as => :mongoid_has_many_target_testable }
32
+ t_has_many :sequel_has_many_targets, :as => :sequel_has_many_target_testable
19
33
  end
20
34
  end
@@ -7,4 +7,11 @@ class SequelHasManyTarget < Sequel::Model
7
7
  t_belongs_to :mongo_mapper_object
8
8
  require_mongoid { t_belongs_to :mongoid_object }
9
9
  t_belongs_to :sequel_object
10
+
11
+ t_belongs_to :active_record_has_many_target_testable, :polymorphic => true
12
+ t_belongs_to :couch_rest_has_many_target_testable, :polymorphic => true
13
+ t_belongs_to :data_mapper_has_many_target_testable, :polymorphic => true
14
+ t_belongs_to :mongo_mapper_has_many_target_testable, :polymorphic => true
15
+ require_mongoid { t_belongs_to :mongoid_has_many_target_testable, :polymorphic => true }
16
+ t_belongs_to :sequel_has_many_target_testable, :polymorphic => true
10
17
  end
@@ -7,4 +7,11 @@ class SequelHasOneTarget < Sequel::Model
7
7
  t_belongs_to :mongo_mapper_object
8
8
  require_mongoid { t_belongs_to :mongoid_object }
9
9
  t_belongs_to :sequel_object
10
+
11
+ t_belongs_to :active_record_has_one_target_testable, :polymorphic => true
12
+ t_belongs_to :couch_rest_has_one_target_testable, :polymorphic => true
13
+ t_belongs_to :data_mapper_has_one_target_testable, :polymorphic => true
14
+ t_belongs_to :mongo_mapper_has_one_target_testable, :polymorphic => true
15
+ require_mongoid { t_belongs_to :mongoid_has_one_target_testable, :polymorphic => true }
16
+ t_belongs_to :sequel_has_one_target_testable, :polymorphic => true
10
17
  end
@@ -14,4 +14,18 @@ class SequelObject < Sequel::Model
14
14
  t_has_many :mongo_mapper_has_many_targets
15
15
  require_mongoid { t_has_many :mongoid_has_many_targets }
16
16
  t_has_many :sequel_has_many_targets
17
+
18
+ t_has_one :active_record_has_one_target, :as => :active_record_has_one_target_testable
19
+ t_has_one :couch_rest_has_one_target, :as => :couch_rest_has_one_target_testable
20
+ t_has_one :data_mapper_has_one_target, :as => :data_mapper_has_one_target_testable
21
+ t_has_one :mongo_mapper_has_one_target, :as => :mongo_mapper_has_one_target_testable
22
+ require_mongoid { t_has_one :mongoid_has_one_target, :as => :mongoid_has_one_target_testable }
23
+ t_has_one :sequel_has_one_target, :as => :sequel_has_one_target_testable
24
+
25
+ t_has_many :active_record_has_many_targets, :as => :active_record_has_many_target_testable
26
+ t_has_many :couch_rest_has_many_targets, :as => :couch_rest_has_many_target_testable
27
+ t_has_many :data_mapper_has_many_targets, :as => :data_mapper_has_many_target_testable
28
+ t_has_many :mongo_mapper_has_many_targets, :as => :mongo_mapper_has_many_target_testable
29
+ require_mongoid { t_has_many :mongoid_has_many_targets, :as => :mongoid_has_many_target_testable }
30
+ t_has_many :sequel_has_many_targets, :as => :sequel_has_many_target_testable
17
31
  end
@@ -9,6 +9,7 @@ ActiveRecord::Schema.define :version => 0 do
9
9
  end
10
10
 
11
11
  create_table :active_record_engines, :force => true do |t|
12
+ t.string :prop
12
13
  t.integer :car_id
13
14
  end
14
15
 
@@ -21,6 +22,16 @@ ActiveRecord::Schema.define :version => 0 do
21
22
  t.string :mongo_mapper_wheel_id
22
23
  end
23
24
 
25
+ create_table :active_record_engines_diagnosables, :force => true do |t|
26
+ t.integer :active_record_engine_id
27
+ t.string :diagnosable_id
28
+ end
29
+
30
+ create_table :active_record_cars_mongo_mapper_windows, :force => true do |t|
31
+ t.integer :active_record_car_id
32
+ t.string :mongo_mapper_window_id
33
+ end
34
+
24
35
  create_table :active_record_cars_couch_rest_doors, :force => true do |t|
25
36
  t.integer :active_record_car_id
26
37
  t.string :couch_rest_door_id
@@ -36,29 +47,56 @@ ActiveRecord::Schema.define :version => 0 do
36
47
  end
37
48
 
38
49
  create_table :active_record_objects, :force => true do |t|
50
+ t.string :prop
39
51
  end
40
52
 
41
53
  create_table :active_record_has_one_targets, :force => true do |t|
42
- t.string :active_record_object_id
54
+ t.integer :active_record_object_id
43
55
  t.string :couch_rest_object_id
44
- t.string :data_mapper_object_id
56
+ t.integer :data_mapper_object_id
45
57
  t.string :mongo_mapper_object_id
46
58
  t.string :mongoid_object_id
47
- t.string :sequel_object_id
59
+ t.integer :sequel_object_id
60
+
61
+ t.string :active_record_has_one_target_testable_id
62
+ t.string :active_record_has_one_target_testable_type
63
+ t.string :couch_rest_has_one_target_testable_id
64
+ t.string :couch_rest_has_one_target_testable_type
65
+ t.string :data_mapper_has_one_target_testable_id
66
+ t.string :data_mapper_has_one_target_testable_type
67
+ t.string :mongo_mapper_has_one_target_testable_id
68
+ t.string :mongo_mapper_has_one_target_testable_type
69
+ t.string :mongoid_has_one_target_testable_id
70
+ t.string :mongoid_has_one_target_testable_type
71
+ t.string :sequel_has_one_target_testable_id
72
+ t.string :sequel_has_one_target_testable_type
48
73
  end
49
74
 
50
75
  create_table :active_record_has_many_targets, :force => true do |t|
51
76
  t.integer :active_record_object_id
52
77
  t.string :couch_rest_object_id
53
- t.string :data_mapper_object_id
78
+ t.integer :data_mapper_object_id
54
79
  t.string :mongo_mapper_object_id
55
80
  t.string :mongoid_object_id
56
- t.string :sequel_object_id
81
+ t.integer :sequel_object_id
82
+
83
+ t.string :active_record_has_many_target_testable_id
84
+ t.string :active_record_has_many_target_testable_type
85
+ t.string :couch_rest_has_many_target_testable_id
86
+ t.string :couch_rest_has_many_target_testable_type
87
+ t.string :data_mapper_has_many_target_testable_id
88
+ t.string :data_mapper_has_many_target_testable_type
89
+ t.string :mongo_mapper_has_many_target_testable_id
90
+ t.string :mongo_mapper_has_many_target_testable_type
91
+ t.string :mongoid_has_many_target_testable_id
92
+ t.string :mongoid_has_many_target_testable_type
93
+ t.string :sequel_has_many_target_testable_id
94
+ t.string :sequel_has_many_target_testable_type
57
95
  end
58
96
 
59
97
  create_table :active_record_has_many_targets_active_record_objects, :force => true do |t|
60
98
  t.integer :active_record_object_id
61
- t.string :active_record_has_many_target_id
99
+ t.integer :active_record_has_many_target_id
62
100
  end
63
101
 
64
102
  create_table :active_record_objects_mongo_mapper_has_many_targets, :force => true do |t|
@@ -73,7 +111,7 @@ ActiveRecord::Schema.define :version => 0 do
73
111
 
74
112
  create_table :active_record_objects_data_mapper_has_many_targets, :force => true do |t|
75
113
  t.integer :active_record_object_id
76
- t.string :data_mapper_has_many_target_id
114
+ t.integer :data_mapper_has_many_target_id
77
115
  end
78
116
 
79
117
  create_table :active_record_objects_mongoid_has_many_targets, :force => true do |t|
@@ -83,6 +121,47 @@ ActiveRecord::Schema.define :version => 0 do
83
121
 
84
122
  create_table :active_record_objects_sequel_has_many_targets, :force => true do |t|
85
123
  t.integer :active_record_object_id
86
- t.string :sequel_has_many_target_id
124
+ t.integer :sequel_has_many_target_id
125
+ end
126
+
127
+ create_table :active_record_objects_mongo_mapper_autosave_true_has_many_targets, :force => true do |t|
128
+ t.integer :active_record_object_id
129
+ t.integer :mongo_mapper_autosave_true_has_many_target_id
130
+ end
131
+
132
+ create_table :active_record_objects_mongo_mapper_autosave_false_has_many_targets, :force => true do |t|
133
+ t.integer :active_record_object_id
134
+ t.integer :mongo_mapper_autosave_false_has_many_target_id
87
135
  end
136
+
137
+ create_table :active_record_has_many_target_testables_active_record_objects, :force => true do |t|
138
+ t.integer :active_record_object_id
139
+ t.integer :active_record_has_many_target_testable_id
140
+ end
141
+
142
+ create_table :active_record_objects_mongo_mapper_has_many_target_testables, :force => true do |t|
143
+ t.integer :active_record_object_id
144
+ t.string :mongo_mapper_has_many_target_testable_id
145
+ end
146
+
147
+ create_table :active_record_objects_data_mapper_has_many_target_testables, :force => true do |t|
148
+ t.integer :active_record_object_id
149
+ t.string :data_mapper_has_many_target_testable_id
150
+ end
151
+
152
+ create_table :active_record_objects_couch_rest_has_many_target_testables, :force => true do |t|
153
+ t.integer :active_record_object_id
154
+ t.string :couch_rest_has_many_target_testable_id
155
+ end
156
+
157
+ create_table :active_record_objects_sequel_has_many_target_testables, :force => true do |t|
158
+ t.integer :active_record_object_id
159
+ t.string :sequel_has_many_target_testable_id
160
+ end
161
+
162
+ create_table :active_record_objects_mongoid_has_many_target_testables, :force => true do |t|
163
+ t.integer :active_record_object_id
164
+ t.string :mongoid_has_many_target_testable_id
165
+ end
166
+
88
167
  end