composite_primary_keys 8.1.6 → 9.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +5 -5
  2. data/History.rdoc +59 -7
  3. data/README.rdoc +62 -1
  4. data/Rakefile +4 -1
  5. data/lib/composite_primary_keys/arel/in.rb +6 -0
  6. data/lib/composite_primary_keys/arel/sqlserver.rb +36 -0
  7. data/lib/composite_primary_keys/arel/to_sql.rb +26 -0
  8. data/lib/composite_primary_keys/associations/association.rb +14 -12
  9. data/lib/composite_primary_keys/associations/association_scope.rb +22 -27
  10. data/lib/composite_primary_keys/associations/collection_association.rb +39 -8
  11. data/lib/composite_primary_keys/associations/has_many_association.rb +17 -40
  12. data/lib/composite_primary_keys/associations/has_many_through_association.rb +58 -58
  13. data/lib/composite_primary_keys/associations/join_dependency/join_association.rb +13 -11
  14. data/lib/composite_primary_keys/associations/join_dependency.rb +73 -56
  15. data/lib/composite_primary_keys/associations/preloader/association.rb +75 -73
  16. data/lib/composite_primary_keys/attribute_methods/primary_key.rb +13 -11
  17. data/lib/composite_primary_keys/attribute_methods/read.rb +18 -15
  18. data/lib/composite_primary_keys/attribute_methods/write.rb +21 -19
  19. data/lib/composite_primary_keys/attribute_methods.rb +6 -4
  20. data/lib/composite_primary_keys/autosave_association.rb +19 -54
  21. data/lib/composite_primary_keys/base.rb +18 -82
  22. data/lib/composite_primary_keys/composite_arrays.rb +9 -1
  23. data/lib/composite_primary_keys/composite_predicates.rb +1 -0
  24. data/lib/composite_primary_keys/connection_adapters/abstract_adapter.rb +10 -10
  25. data/lib/composite_primary_keys/connection_adapters/abstract_mysql_adapter.rb +5 -6
  26. data/lib/composite_primary_keys/connection_adapters/sqlite3_adapter.rb +23 -0
  27. data/lib/composite_primary_keys/core.rb +46 -45
  28. data/lib/composite_primary_keys/fixtures.rb +19 -17
  29. data/lib/composite_primary_keys/locking/optimistic.rb +53 -49
  30. data/lib/composite_primary_keys/nested_attributes.rb +60 -53
  31. data/lib/composite_primary_keys/persistence.rb +49 -41
  32. data/lib/composite_primary_keys/relation/batches.rb +35 -32
  33. data/lib/composite_primary_keys/relation/calculations.rb +3 -7
  34. data/lib/composite_primary_keys/relation/finder_methods.rb +122 -55
  35. data/lib/composite_primary_keys/relation/predicate_builder.rb +18 -29
  36. data/lib/composite_primary_keys/relation/query_methods.rb +25 -36
  37. data/lib/composite_primary_keys/relation/where_clause.rb +33 -0
  38. data/lib/composite_primary_keys/relation.rb +96 -43
  39. data/lib/composite_primary_keys/sanitization.rb +6 -15
  40. data/lib/composite_primary_keys/version.rb +3 -3
  41. data/lib/composite_primary_keys.rb +10 -19
  42. data/scripts/console.rb +48 -48
  43. data/scripts/txt2html +76 -76
  44. data/scripts/txt2js +65 -65
  45. data/tasks/databases/mysql.rake +17 -19
  46. data/tasks/databases/oracle.rake +29 -15
  47. data/tasks/databases/postgresql.rake +20 -29
  48. data/tasks/databases/sqlite.rake +25 -0
  49. data/tasks/databases/sqlserver.rake +32 -16
  50. data/tasks/website.rake +18 -18
  51. data/test/README_tests.rdoc +56 -56
  52. data/test/abstract_unit.rb +24 -18
  53. data/test/connections/connection_spec.rb +11 -2
  54. data/test/connections/databases.ci.yml +5 -4
  55. data/test/connections/databases.example.yml +19 -4
  56. data/test/connections/databases.yml +40 -30
  57. data/test/db_test.rb +52 -52
  58. data/test/fixtures/article.rb +1 -0
  59. data/test/fixtures/articles.yml +6 -6
  60. data/test/fixtures/capitol.rb +3 -3
  61. data/test/fixtures/capitols.yml +16 -16
  62. data/test/fixtures/comments.yml +15 -15
  63. data/test/fixtures/db_definitions/mysql.sql +16 -17
  64. data/test/fixtures/db_definitions/oracle.drop.sql +2 -0
  65. data/test/fixtures/db_definitions/oracle.sql +26 -17
  66. data/test/fixtures/db_definitions/postgresql.sql +2 -3
  67. data/test/fixtures/db_definitions/sqlite.sql +0 -1
  68. data/test/fixtures/db_definitions/sqlserver.sql +20 -35
  69. data/test/fixtures/department.rb +5 -5
  70. data/test/fixtures/departments.yml +15 -15
  71. data/test/fixtures/dorms.yml +4 -4
  72. data/test/fixtures/employee.rb +5 -7
  73. data/test/fixtures/employees.yml +1 -5
  74. data/test/fixtures/group.rb +2 -2
  75. data/test/fixtures/groups.yml +6 -6
  76. data/test/fixtures/hack.rb +4 -4
  77. data/test/fixtures/hacks.yml +2 -2
  78. data/test/fixtures/membership_status.rb +2 -2
  79. data/test/fixtures/product.rb +9 -9
  80. data/test/fixtures/product_tariff.rb +5 -5
  81. data/test/fixtures/products.yml +11 -11
  82. data/test/fixtures/reading.rb +4 -4
  83. data/test/fixtures/readings.yml +10 -10
  84. data/test/fixtures/reference_code_using_composite_key_alias.rb +8 -8
  85. data/test/fixtures/reference_code_using_simple_key_alias.rb +8 -8
  86. data/test/fixtures/reference_codes.yml +28 -28
  87. data/test/fixtures/reference_type.rb +1 -1
  88. data/test/fixtures/reference_types.yml +9 -9
  89. data/test/fixtures/restaurant.rb +9 -9
  90. data/test/fixtures/restaurants.yml +14 -14
  91. data/test/fixtures/restaurants_suburbs.yml +10 -10
  92. data/test/fixtures/room.rb +11 -11
  93. data/test/fixtures/room_assignment.rb +13 -13
  94. data/test/fixtures/room_assignments.yml +24 -24
  95. data/test/fixtures/room_attribute.rb +2 -2
  96. data/test/fixtures/room_attribute_assignment.rb +4 -4
  97. data/test/fixtures/room_attribute_assignments.yml +4 -4
  98. data/test/fixtures/room_attributes.yml +2 -2
  99. data/test/fixtures/rooms.yml +12 -12
  100. data/test/fixtures/seat.rb +5 -5
  101. data/test/fixtures/seats.yml +8 -8
  102. data/test/fixtures/street.rb +2 -2
  103. data/test/fixtures/streets.yml +16 -16
  104. data/test/fixtures/student.rb +3 -3
  105. data/test/fixtures/students.yml +15 -15
  106. data/test/fixtures/suburbs.yml +14 -14
  107. data/test/fixtures/tariff.rb +1 -1
  108. data/test/fixtures/tariffs.yml +14 -14
  109. data/test/fixtures/user.rb +0 -1
  110. data/test/plugins/pagination.rb +405 -405
  111. data/test/plugins/pagination_helper.rb +135 -135
  112. data/test/setup.rb +50 -50
  113. data/test/test_aliases.rb +18 -18
  114. data/test/test_associations.rb +18 -17
  115. data/test/test_composite_arrays.rb +24 -24
  116. data/test/test_counter_cache.rb +30 -30
  117. data/test/test_create.rb +14 -6
  118. data/test/test_delete.rb +36 -34
  119. data/test/test_dup.rb +37 -37
  120. data/test/test_exists.rb +39 -39
  121. data/test/test_find.rb +16 -4
  122. data/test/test_habtm.rb +27 -3
  123. data/test/test_miscellaneous.rb +32 -32
  124. data/test/test_nested_attributes.rb +6 -6
  125. data/test/test_pagination.rb +35 -35
  126. data/test/test_polymorphic.rb +0 -7
  127. data/test/test_predicates.rb +20 -20
  128. data/test/test_preload.rb +94 -0
  129. data/test/test_suite.rb +1 -1
  130. data/test/test_update.rb +10 -7
  131. data/test/test_validations.rb +13 -13
  132. metadata +30 -39
  133. data/README_DB2.rdoc +0 -33
  134. data/lib/composite_primary_keys/arel/visitors/to_sql.rb +0 -36
  135. data/lib/composite_primary_keys/associations/singular_association.rb +0 -18
  136. data/lib/composite_primary_keys/attribute_methods/dirty.rb +0 -29
  137. data/lib/composite_primary_keys/attribute_set/builder.rb +0 -20
  138. data/lib/composite_primary_keys/connection_adapters/abstract/connection_specification_changes.rb +0 -70
  139. data/lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb +0 -19
  140. data/lib/composite_primary_keys/dirty.rb +0 -19
  141. data/lib/composite_primary_keys/validations/uniqueness.rb +0 -41
  142. data/tasks/databases/oracle_enhanced.rake +0 -27
  143. data/tasks/databases/sqlite3.rake +0 -27
  144. data/test/connections/native_ibm_db/connection.rb +0 -19
  145. data/test/connections/native_mysql/connection.rb +0 -17
  146. data/test/connections/native_oracle/connection.rb +0 -11
  147. data/test/connections/native_oracle_enhanced/connection.rb +0 -16
  148. data/test/connections/native_postgresql/connection.rb +0 -13
  149. data/test/connections/native_sqlite3/connection.rb +0 -9
  150. data/test/connections/native_sqlserver/connection.rb +0 -11
  151. data/test/fixtures/db_definitions/sqlserver.drop.sql +0 -92
  152. data/test/test_delete_all.rb +0 -35
  153. data/test/test_find_in_batches.rb +0 -30
@@ -1,19 +1,16 @@
1
1
  USE [composite_primary_keys_unittest];
2
- go
3
2
 
4
3
  CREATE TABLE topics (
5
4
  id [int] IDENTITY(1000,1) NOT NULL,
6
5
  name [varchar](50) default NULL,
7
6
  feed_size [int] default NULL
8
7
  );
9
- go
10
8
 
11
9
  CREATE TABLE topic_sources (
12
10
  topic_id [int] NOT NULL,
13
11
  platform [varchar](50) NOT NULL,
14
12
  keywords [varchar](50) default NULL,
15
13
  );
16
- go
17
14
 
18
15
  CREATE TABLE reference_types (
19
16
  reference_type_id [int] IDENTITY(1000,1) NOT NULL,
@@ -21,7 +18,6 @@ CREATE TABLE reference_types (
21
18
  abbreviation [varchar](50) NULL,
22
19
  description [varchar](50) NULL
23
20
  );
24
- go
25
21
 
26
22
  CREATE TABLE reference_codes (
27
23
  reference_type_id [int],
@@ -30,22 +26,21 @@ CREATE TABLE reference_codes (
30
26
  abbreviation [varchar](50) NULL,
31
27
  description [varchar](50) NULL
32
28
  );
33
- go
34
29
 
35
30
  CREATE TABLE products (
36
31
  id [int] IDENTITY(1000,1) NOT NULL,
37
32
  name [varchar](50) NULL
38
33
  );
39
- go
40
34
 
41
35
  CREATE TABLE tariffs (
42
36
  [tariff_id] [int],
43
37
  [start_date] [date],
44
- [amount] [int] NULL
45
- CONSTRAINT [tariffs_pk] PRIMARY KEY
38
+ [amount] [int] NULL,
39
+ [created_at] [datetimeoffset](7) NOT NULL,
40
+ [updated_at] [datetimeoffset](7) NOT NULL
41
+ CONSTRAINT [tariffs_pk] PRIMARY KEY
46
42
  ( [tariff_id], [start_date] )
47
43
  );
48
- go
49
44
 
50
45
  CREATE TABLE product_tariffs (
51
46
  [product_id] [int],
@@ -54,7 +49,6 @@ CREATE TABLE product_tariffs (
54
49
  CONSTRAINT [product_tariffs_pk] PRIMARY KEY
55
50
  ( [product_id], [tariff_id], [tariff_start_date] )
56
51
  );
57
- go
58
52
 
59
53
  CREATE TABLE suburbs (
60
54
  city_id [int],
@@ -63,7 +57,6 @@ CREATE TABLE suburbs (
63
57
  CONSTRAINT [suburbs_pk] PRIMARY KEY
64
58
  ( [city_id], [suburb_id] )
65
59
  );
66
- go
67
60
 
68
61
  CREATE TABLE streets (
69
62
  id [int] IDENTITY(1000,1) NOT NULL,
@@ -71,19 +64,16 @@ CREATE TABLE streets (
71
64
  suburb_id [int] NOT NULL,
72
65
  name [varchar](50) NOT NULL
73
66
  );
74
- go
75
67
 
76
68
  CREATE TABLE users (
77
69
  id [int] IDENTITY(1000,1) NOT NULL,
78
70
  name varchar(50) NOT NULL
79
71
  );
80
- go
81
72
 
82
73
  CREATE TABLE articles (
83
74
  id [int] IDENTITY(1000,1) NOT NULL,
84
75
  name varchar(50) NOT NULL
85
76
  );
86
- go
87
77
 
88
78
  CREATE TABLE readings (
89
79
  id [int] PRIMARY KEY,
@@ -91,13 +81,11 @@ CREATE TABLE readings (
91
81
  article_id [int] NOT NULL,
92
82
  rating [int] NOT NULL
93
83
  );
94
- go
95
84
 
96
85
  CREATE TABLE groups (
97
86
  id [int] IDENTITY(1000,1) NOT NULL,
98
87
  name [varchar](50) NOT NULL
99
88
  );
100
- go
101
89
 
102
90
  CREATE TABLE memberships (
103
91
  user_id [int] NOT NULL,
@@ -105,7 +93,6 @@ CREATE TABLE memberships (
105
93
  CONSTRAINT [memberships_pk] PRIMARY KEY
106
94
  ( [user_id], [group_id] )
107
95
  );
108
- go
109
96
 
110
97
  CREATE TABLE membership_statuses (
111
98
  id [int] IDENTITY(1,1) NOT NULL,
@@ -113,7 +100,6 @@ CREATE TABLE membership_statuses (
113
100
  group_id [int] not null,
114
101
  status varchar(50) not null
115
102
  );
116
- go
117
103
 
118
104
  CREATE TABLE departments (
119
105
  department_id [int] NOT NULL,
@@ -121,15 +107,12 @@ CREATE TABLE departments (
121
107
  CONSTRAINT [departments_pk] PRIMARY KEY
122
108
  ( [department_id], [location_id] )
123
109
  );
124
- go
125
110
 
126
111
  CREATE TABLE employees (
127
112
  id [int] IDENTITY(1000,1) NOT NULL,
128
113
  department_id [int] NULL,
129
- location_id [int] NULL,
130
- name varchar(100) NOT NULL
114
+ location_id [int] NULL
131
115
  );
132
- go
133
116
 
134
117
  CREATE TABLE comments (
135
118
  id [int] IDENTITY(1000,1) PRIMARY KEY NOT NULL,
@@ -138,13 +121,11 @@ CREATE TABLE comments (
138
121
  person_type varchar(100) NULL,
139
122
  hack_id [int] NULL
140
123
  );
141
- go
142
124
 
143
125
  CREATE TABLE hacks (
144
126
  id [int] IDENTITY(1000,1) PRIMARY KEY NOT NULL,
145
127
  name [varchar](50) NOT NULL
146
128
  );
147
- go
148
129
 
149
130
  CREATE TABLE restaurants (
150
131
  franchise_id [int] NOT NULL,
@@ -154,7 +135,6 @@ CREATE TABLE restaurants (
154
135
  CONSTRAINT [restaurants_pk] PRIMARY KEY CLUSTERED
155
136
  ( [franchise_id], [store_id] )
156
137
  );
157
- go
158
138
 
159
139
  CREATE TABLE restaurants_suburbs (
160
140
  franchise_id [int] NOT NULL,
@@ -162,12 +142,10 @@ CREATE TABLE restaurants_suburbs (
162
142
  city_id [int] NOT NULL,
163
143
  suburb_id [int] NOT NULL
164
144
  );
165
- go
166
145
 
167
146
  CREATE TABLE dorms (
168
147
  id [int] IDENTITY(1000,1) PRIMARY KEY NOT NULL
169
148
  );
170
- go
171
149
 
172
150
  CREATE TABLE rooms (
173
151
  dorm_id [int] NOT NULL,
@@ -175,32 +153,27 @@ CREATE TABLE rooms (
175
153
  CONSTRAINT [rooms_pk] PRIMARY KEY CLUSTERED
176
154
  ( [dorm_id], [room_id] )
177
155
  );
178
- go
179
156
 
180
157
  CREATE TABLE room_attributes (
181
158
  id [int] IDENTITY(1000,1) PRIMARY KEY NOT NULL,
182
159
  name [varchar](50)
183
160
  );
184
- go
185
161
 
186
162
  CREATE TABLE room_attribute_assignments (
187
163
  dorm_id [int] NOT NULL,
188
164
  room_id [int] NOT NULL,
189
165
  room_attribute_id [int] NOT NULL
190
166
  );
191
- go
192
167
 
193
168
  CREATE TABLE students (
194
169
  id [int] IDENTITY(1000,1) PRIMARY KEY NOT NULL
195
170
  );
196
- go
197
171
 
198
172
  CREATE TABLE room_assignments (
199
173
  student_id [int] NOT NULL,
200
174
  dorm_id [int] NOT NULL,
201
175
  room_id [int] NOT NULL
202
176
  );
203
- go
204
177
 
205
178
  CREATE TABLE seats (
206
179
  flight_number [int] NOT NULL,
@@ -209,7 +182,6 @@ CREATE TABLE seats (
209
182
  CONSTRAINT [seats_pk] PRIMARY KEY
210
183
  ( [flight_number], [seat] )
211
184
  );
212
- go
213
185
 
214
186
  CREATE TABLE capitols (
215
187
  country varchar(450) NOT NULL,
@@ -217,11 +189,24 @@ CREATE TABLE capitols (
217
189
  CONSTRAINT [capitols_pk] PRIMARY KEY
218
190
  ( [country], [city] )
219
191
  );
220
- go
221
192
 
222
193
  CREATE TABLE products_restaurants (
223
194
  product_id [int] NOT NULL,
224
195
  franchise_id [int] NOT NULL,
225
196
  store_id [int] NOT NULL
226
197
  );
227
- go
198
+
199
+ CREATE TABLE employees_groups (
200
+ employee_id [int] not null,
201
+ group_id [int] not null
202
+ );
203
+
204
+ CREATE TABLE pk_called_ids (
205
+ id [int] IDENTITY(1000,1) NOT NULL,
206
+ reference_code [int] not null,
207
+ code_label [varchar](50) default null,
208
+ abbreviation [varchar](50) default null,
209
+ description [varchar](50) default null
210
+ CONSTRAINT [pk_called_ids_pk] PRIMARY KEY
211
+ ( [id], [reference_code] )
212
+ );
@@ -1,5 +1,5 @@
1
- class Department < ActiveRecord::Base
2
- self.primary_keys = :department_id, :location_id
3
- has_many :employees, :foreign_key => [:department_id, :location_id]
4
- has_one :head, :class_name => 'Employee', :foreign_key => [:department_id, :location_id], :dependent => :delete
5
- end
1
+ class Department < ActiveRecord::Base
2
+ self.primary_keys = :department_id, :location_id
3
+ has_many :employees, :foreign_key => [:department_id, :location_id]
4
+ has_one :head, :class_name => 'Employee', :foreign_key => [:department_id, :location_id], :dependent => :delete
5
+ end
@@ -1,15 +1,15 @@
1
- accounting:
2
- department_id: 1
3
- location_id: 1
4
-
5
- engineering:
6
- department_id: 2
7
- location_id: 1
8
-
9
- human_resources:
10
- department_id: 3
11
- location_id: 2
12
-
13
- offsite_accounting:
14
- department_id: 1
15
- location_id: 2
1
+ accounting:
2
+ department_id: 1
3
+ location_id: 1
4
+
5
+ engineering:
6
+ department_id: 2
7
+ location_id: 1
8
+
9
+ human_resources:
10
+ department_id: 3
11
+ location_id: 2
12
+
13
+ offsite_accounting:
14
+ department_id: 1
15
+ location_id: 2
@@ -1,5 +1,5 @@
1
- branner:
2
- id: 1
3
-
4
- toyon:
1
+ branner:
2
+ id: 1
3
+
4
+ toyon:
5
5
  id: 2
@@ -2,11 +2,9 @@ class Employee < ActiveRecord::Base
2
2
  belongs_to :department, :foreign_key => [:department_id, :location_id]
3
3
  has_many :comments, :as => :person
4
4
  has_and_belongs_to_many :groups
5
- has_many :salaries,
6
- :primary_key => [:id, :location_id],
7
- :foreign_key => [:employee_id, :location_id]
8
- has_one :one_salary, :class_name => "Salary",
9
- :primary_key => [:id, :location_id],
10
- :foreign_key => [:employee_id, :location_id],
11
- :inverse_of => :employee
5
+ has_many :salaries, :primary_key => [:id, :location_id],
6
+ :foreign_key => [:employee_id, :location_id]
7
+ has_one :one_salary, :class_name => "Salary",
8
+ :primary_key => [:id, :location_id],
9
+ :foreign_key => [:employee_id, :location_id]
12
10
  end
@@ -2,22 +2,18 @@ steve:
2
2
  id: 1
3
3
  department_id: 1
4
4
  location_id: 1
5
- name: steve
6
5
 
7
6
  jill:
8
7
  id: 2
9
8
  department_id: 1
10
9
  location_id: 1
11
- name: jill
12
10
 
13
11
  sarah:
14
12
  id: 3
15
13
  department_id: 2
16
14
  location_id: 1
17
- name: sarah
18
15
 
19
16
  robert:
20
17
  id: 4
21
18
  department_id: 2
22
- location_id: 1
23
- name: robert
19
+ location_id: 1
@@ -1,3 +1,3 @@
1
- class Group < ActiveRecord::Base
2
- has_many :memberships
1
+ class Group < ActiveRecord::Base
2
+ has_many :memberships
3
3
  end
@@ -1,7 +1,7 @@
1
- cpk:
2
- id: 1
3
- name: Composite Primary Keys
4
-
5
- group2:
6
- id: 2
1
+ cpk:
2
+ id: 1
3
+ name: Composite Primary Keys
4
+
5
+ group2:
6
+ id: 2
7
7
  name: Grupo Dos
@@ -1,5 +1,5 @@
1
- class Hack < ActiveRecord::Base
2
- has_many :comments, :as => :person
3
-
4
- has_one :first_comment, :as => :person, :class_name => "Comment"
1
+ class Hack < ActiveRecord::Base
2
+ has_many :comments, :as => :person
3
+
4
+ has_one :first_comment, :as => :person, :class_name => "Comment"
5
5
  end
@@ -1,3 +1,3 @@
1
- andrew:
2
- id: 7
1
+ andrew:
2
+ id: 7
3
3
  name: andrew
@@ -1,3 +1,3 @@
1
- class MembershipStatus < ActiveRecord::Base
2
- belongs_to :membership, :foreign_key => [:user_id, :group_id]
1
+ class MembershipStatus < ActiveRecord::Base
2
+ belongs_to :membership, :foreign_key => [:user_id, :group_id]
3
3
  end
@@ -1,9 +1,9 @@
1
- class Product < ActiveRecord::Base
2
- self.primary_keys = :id # redundant
3
- has_many :product_tariffs, :foreign_key => :product_id, :dependent => :delete_all
4
- has_many :tariffs, :through => :product_tariffs, :foreign_key => [:tariff_id, :tariff_start_date]
5
-
6
- has_and_belongs_to_many :restaurants,
7
- :foreign_key => :product_id,
8
- :association_foreign_key => [:franchise_id, :store_id]
9
- end
1
+ class Product < ActiveRecord::Base
2
+ self.primary_keys = :id # redundant
3
+ has_many :product_tariffs, :foreign_key => :product_id, :dependent => :delete_all
4
+ has_many :tariffs, :through => :product_tariffs, :foreign_key => [:tariff_id, :tariff_start_date]
5
+
6
+ has_and_belongs_to_many :restaurants,
7
+ :foreign_key => :product_id,
8
+ :association_foreign_key => [:franchise_id, :store_id]
9
+ end
@@ -1,5 +1,5 @@
1
- class ProductTariff < ActiveRecord::Base
2
- self.primary_keys = :product_id, :tariff_id, :tariff_start_date
3
- belongs_to :product, :foreign_key => :product_id
4
- belongs_to :tariff, :foreign_key => [:tariff_id, :tariff_start_date]
5
- end
1
+ class ProductTariff < ActiveRecord::Base
2
+ self.primary_keys = :product_id, :tariff_id, :tariff_start_date
3
+ belongs_to :product, :foreign_key => :product_id
4
+ belongs_to :tariff, :foreign_key => [:tariff_id, :tariff_start_date]
5
+ end
@@ -1,11 +1,11 @@
1
- first_product:
2
- id: 1
3
- name: Product One
4
-
5
- second_product:
6
- id: 2
7
- name: Product Two
8
-
9
- third_product:
10
- id: 3
11
- name: Product Three
1
+ first_product:
2
+ id: 1
3
+ name: Product One
4
+
5
+ second_product:
6
+ id: 2
7
+ name: Product Two
8
+
9
+ third_product:
10
+ id: 3
11
+ name: Product Three
@@ -1,4 +1,4 @@
1
- class Reading < ActiveRecord::Base
2
- belongs_to :article
3
- belongs_to :user
4
- end
1
+ class Reading < ActiveRecord::Base
2
+ belongs_to :article
3
+ belongs_to :user
4
+ end
@@ -1,11 +1,11 @@
1
- santiago_first:
2
- id: 1
3
- user_id: 1
4
- article_id: 1
5
- rating: 4
6
-
7
- santiago_second:
8
- id: 2
9
- user_id: 1
10
- article_id: 2
1
+ santiago_first:
2
+ id: 1
3
+ user_id: 1
4
+ article_id: 1
5
+ rating: 4
6
+
7
+ santiago_second:
8
+ id: 2
9
+ user_id: 1
10
+ article_id: 2
11
11
  rating: 5
@@ -1,8 +1,8 @@
1
- class ReferenceCodeUsingCompositeKeyAlias < ActiveRecord::Base
2
- self.table_name = 'reference_codes'
3
- self.primary_key = [:reference_type_id, :reference_code]
4
-
5
- belongs_to :reference_type, :foreign_key => "reference_type_id"
6
-
7
- validates_presence_of :reference_code, :code_label, :abbreviation
8
- end
1
+ class ReferenceCodeUsingCompositeKeyAlias < ActiveRecord::Base
2
+ self.table_name = 'reference_codes'
3
+ self.primary_key = [:reference_type_id, :reference_code]
4
+
5
+ belongs_to :reference_type, :foreign_key => "reference_type_id"
6
+
7
+ validates_presence_of :reference_code, :code_label, :abbreviation
8
+ end
@@ -1,8 +1,8 @@
1
- class ReferenceCodeUsingSimpleKeyAlias < ActiveRecord::Base
2
- self.table_name = 'reference_codes'
3
- self.primary_key = :code_label
4
-
5
- belongs_to :reference_type, :foreign_key => "reference_type_id"
6
-
7
- validates_presence_of :reference_code, :code_label, :abbreviation
8
- end
1
+ class ReferenceCodeUsingSimpleKeyAlias < ActiveRecord::Base
2
+ self.table_name = 'reference_codes'
3
+ self.primary_key = :code_label
4
+
5
+ belongs_to :reference_type, :foreign_key => "reference_type_id"
6
+
7
+ validates_presence_of :reference_code, :code_label, :abbreviation
8
+ end
@@ -1,29 +1,29 @@
1
- name_prefix_mr:
2
- reference_type_id: 1
3
- reference_code: 1
4
- code_label: MR
5
- abbreviation: Mr
6
-
7
- name_prefix_mrs:
8
- reference_type_id: 1
9
- reference_code: 2
10
- code_label: MRS
11
- abbreviation: Mrs
12
-
13
- name_prefix_ms:
14
- reference_type_id: 1
15
- reference_code: 3
16
- code_label: MS
17
- abbreviation: Ms
18
-
19
- gender_male:
20
- reference_type_id: 2
21
- reference_code: 1
22
- code_label: MALE
23
- abbreviation: Male
24
-
25
- gender_female:
26
- reference_type_id: 2
27
- reference_code: 2
28
- code_label: FEMALE
1
+ name_prefix_mr:
2
+ reference_type_id: 1
3
+ reference_code: 1
4
+ code_label: MR
5
+ abbreviation: Mr
6
+
7
+ name_prefix_mrs:
8
+ reference_type_id: 1
9
+ reference_code: 2
10
+ code_label: MRS
11
+ abbreviation: Mrs
12
+
13
+ name_prefix_ms:
14
+ reference_type_id: 1
15
+ reference_code: 3
16
+ code_label: MS
17
+ abbreviation: Ms
18
+
19
+ gender_male:
20
+ reference_type_id: 2
21
+ reference_code: 1
22
+ code_label: MALE
23
+ abbreviation: Male
24
+
25
+ gender_female:
26
+ reference_type_id: 2
27
+ reference_code: 2
28
+ code_label: FEMALE
29
29
  abbreviation: Female
@@ -7,6 +7,6 @@ class ReferenceType < ActiveRecord::Base
7
7
  validates_uniqueness_of :type_label
8
8
 
9
9
  before_destroy do |record|
10
- a = record
10
+ record
11
11
  end
12
12
  end
@@ -1,9 +1,9 @@
1
- name_prefix:
2
- reference_type_id: 1
3
- type_label: NAME_PREFIX
4
- abbreviation: Name Prefix
5
-
6
- gender:
7
- reference_type_id: 2
8
- type_label: GENDER
9
- abbreviation: Gender
1
+ name_prefix:
2
+ reference_type_id: 1
3
+ type_label: NAME_PREFIX
4
+ abbreviation: Name Prefix
5
+
6
+ gender:
7
+ reference_type_id: 2
8
+ type_label: GENDER
9
+ abbreviation: Gender
@@ -1,9 +1,9 @@
1
- class Restaurant < ActiveRecord::Base
2
- self.primary_keys = :franchise_id, :store_id
3
- has_and_belongs_to_many :suburbs,
4
- :foreign_key => [:franchise_id, :store_id],
5
- :association_foreign_key => [:city_id, :suburb_id]
6
- has_and_belongs_to_many :products,
7
- :foreign_key => [:franchise_id, :store_id],
8
- :association_foreign_key => :product_id
9
- end
1
+ class Restaurant < ActiveRecord::Base
2
+ self.primary_keys = :franchise_id, :store_id
3
+ has_and_belongs_to_many :suburbs,
4
+ :foreign_key => [:franchise_id, :store_id],
5
+ :association_foreign_key => [:city_id, :suburb_id]
6
+ has_and_belongs_to_many :products,
7
+ :foreign_key => [:franchise_id, :store_id],
8
+ :association_foreign_key => :product_id
9
+ end
@@ -1,14 +1,14 @@
1
- mcdonalds:
2
- franchise_id: 1
3
- store_id: 1
4
- name: McDonalds
5
-
6
- subway_one:
7
- franchise_id: 2
8
- store_id: 1
9
- name: Subway 1
10
-
11
- subway_two:
12
- franchise_id: 2
13
- store_id: 2
14
- name: Subway 2
1
+ mcdonalds:
2
+ franchise_id: 1
3
+ store_id: 1
4
+ name: McDonalds
5
+
6
+ subway_one:
7
+ franchise_id: 2
8
+ store_id: 1
9
+ name: Subway 1
10
+
11
+ subway_two:
12
+ franchise_id: 2
13
+ store_id: 2
14
+ name: Subway 2
@@ -1,11 +1,11 @@
1
- a:
2
- franchise_id: 1
3
- store_id: 1
4
- city_id: 1
5
- suburb_id: 1
6
-
7
- b:
8
- franchise_id: 1
9
- store_id: 1
10
- city_id: 2
1
+ a:
2
+ franchise_id: 1
3
+ store_id: 1
4
+ city_id: 1
5
+ suburb_id: 1
6
+
7
+ b:
8
+ franchise_id: 1
9
+ store_id: 1
10
+ city_id: 2
11
11
  suburb_id: 1