magic_model_generator 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (300) hide show
  1. data/CHANGELOG +0 -0
  2. data/README +3 -0
  3. data/Rakefile +96 -0
  4. data/examples/singleview/account.rb +94 -0
  5. data/examples/singleview/account_history.rb +21 -0
  6. data/examples/singleview/account_reservation.rb +26 -0
  7. data/examples/singleview/account_type.rb +54 -0
  8. data/examples/singleview/account_type_aging.rb +17 -0
  9. data/examples/singleview/account_type_variable.rb +8 -0
  10. data/examples/singleview/address.rb +8 -0
  11. data/examples/singleview/address_format.rb +49 -0
  12. data/examples/singleview/address_history.rb +28 -0
  13. data/examples/singleview/adjustment.rb +97 -0
  14. data/examples/singleview/adjustment_batch.rb +42 -0
  15. data/examples/singleview/adjustment_invoice.rb +17 -0
  16. data/examples/singleview/adjustment_type.rb +54 -0
  17. data/examples/singleview/adjustment_type_variable.rb +8 -0
  18. data/examples/singleview/archive_lock_t.rb +11 -0
  19. data/examples/singleview/archive_result.rb +15 -0
  20. data/examples/singleview/archive_type.rb +31 -0
  21. data/examples/singleview/archive_type_table_list.rb +15 -0
  22. data/examples/singleview/atai_error_name.rb +7 -0
  23. data/examples/singleview/atlanta_form.rb +23 -0
  24. data/examples/singleview/atlanta_form_field.rb +12 -0
  25. data/examples/singleview/atlanta_group.rb +285 -0
  26. data/examples/singleview/atlanta_help_entry.rb +32 -0
  27. data/examples/singleview/atlanta_operator.rb +356 -0
  28. data/examples/singleview/atlanta_profile.rb +47 -0
  29. data/examples/singleview/atlanta_profile_func_map.rb +8 -0
  30. data/examples/singleview/atlanta_profile_group_map.rb +10 -0
  31. data/examples/singleview/atlanta_profile_role_map.rb +8 -0
  32. data/examples/singleview/atlanta_profile_wf_map.rb +10 -0
  33. data/examples/singleview/atlanta_role.rb +23 -0
  34. data/examples/singleview/atlanta_table_partition.rb +39 -0
  35. data/examples/singleview/attribute_type.rb +75 -0
  36. data/examples/singleview/attribute_type_variable.rb +8 -0
  37. data/examples/singleview/bill_run.rb +93 -0
  38. data/examples/singleview/bill_run_operation.rb +54 -0
  39. data/examples/singleview/bill_run_type.rb +39 -0
  40. data/examples/singleview/bill_run_type_status.rb +12 -0
  41. data/examples/singleview/bill_run_type_task.rb +12 -0
  42. data/examples/singleview/cache.rb +23 -0
  43. data/examples/singleview/cache_field.rb +13 -0
  44. data/examples/singleview/can_act_charge.rb +16 -0
  45. data/examples/singleview/charge.rb +67 -0
  46. data/examples/singleview/charge_category.rb +45 -0
  47. data/examples/singleview/charge_output_defn.rb +13 -0
  48. data/examples/singleview/charge_output_defn_history.rb +22 -0
  49. data/examples/singleview/charge_output_defn_var.rb +10 -0
  50. data/examples/singleview/configuration_attr_type.rb +22 -0
  51. data/examples/singleview/configuration_attribute.rb +11 -0
  52. data/examples/singleview/configuration_item.rb +26 -0
  53. data/examples/singleview/configuration_item_type.rb +29 -0
  54. data/examples/singleview/contract.rb +35 -0
  55. data/examples/singleview/contract_history.rb +48 -0
  56. data/examples/singleview/contract_type.rb +58 -0
  57. data/examples/singleview/contract_type_product.rb +11 -0
  58. data/examples/singleview/conversion_rate.rb +14 -0
  59. data/examples/singleview/currency.rb +118 -0
  60. data/examples/singleview/currency_history.rb +28 -0
  61. data/examples/singleview/customer_contact.rb +12 -0
  62. data/examples/singleview/customer_node.rb +166 -0
  63. data/examples/singleview/customer_node_bill_run.rb +12 -0
  64. data/examples/singleview/customer_node_charge_cat.rb +22 -0
  65. data/examples/singleview/customer_node_correspond.rb +12 -0
  66. data/examples/singleview/customer_node_da.rb +11 -0
  67. data/examples/singleview/customer_node_da_array.rb +35 -0
  68. data/examples/singleview/customer_node_history.rb +86 -0
  69. data/examples/singleview/customer_node_inv_format.rb +33 -0
  70. data/examples/singleview/customer_node_type.rb +89 -0
  71. data/examples/singleview/customer_node_type_cc.rb +18 -0
  72. data/examples/singleview/customer_node_type_da.rb +8 -0
  73. data/examples/singleview/customer_node_type_var.rb +8 -0
  74. data/examples/singleview/customer_query.rb +80 -0
  75. data/examples/singleview/customer_query_progress.rb +20 -0
  76. data/examples/singleview/customer_query_type.rb +49 -0
  77. data/examples/singleview/customer_query_type_var.rb +8 -0
  78. data/examples/singleview/delete_cascade.rb +13 -0
  79. data/examples/singleview/delete_cascade_group.rb +21 -0
  80. data/examples/singleview/delete_constraint.rb +9 -0
  81. data/examples/singleview/derived_attribute.rb +32 -0
  82. data/examples/singleview/derived_attribute_array.rb +32 -0
  83. data/examples/singleview/derived_attribute_history.rb +41 -0
  84. data/examples/singleview/derived_attribute_index.rb +13 -0
  85. data/examples/singleview/derived_attribute_value.rb +19 -0
  86. data/examples/singleview/dil.rb +18 -0
  87. data/examples/singleview/dil_history.rb +24 -0
  88. data/examples/singleview/dil_reference.rb +9 -0
  89. data/examples/singleview/dil_validation_t.rb +6 -0
  90. data/examples/singleview/dil_variable.rb +10 -0
  91. data/examples/singleview/dunning_t.rb +14 -0
  92. data/examples/singleview/entity_mapping.rb +11 -0
  93. data/examples/singleview/entity_remap.rb +22 -0
  94. data/examples/singleview/entity_validation.rb +70 -0
  95. data/examples/singleview/entity_validation_list.rb +15 -0
  96. data/examples/singleview/entity_validation_variable.rb +8 -0
  97. data/examples/singleview/equipment.rb +28 -0
  98. data/examples/singleview/equipment_history.rb +62 -0
  99. data/examples/singleview/equipment_type.rb +57 -0
  100. data/examples/singleview/equipment_type_variable.rb +8 -0
  101. data/examples/singleview/error_group.rb +18 -0
  102. data/examples/singleview/error_message.rb +65 -0
  103. data/examples/singleview/evs_address_equiv.rb +17 -0
  104. data/examples/singleview/evs_alias.rb +12 -0
  105. data/examples/singleview/evs_attribute_type_key.rb +7 -0
  106. data/examples/singleview/evt_equipment_changeover.rb +9 -0
  107. data/examples/singleview/expression_list.rb +27 -0
  108. data/examples/singleview/expression_list_value.rb +17 -0
  109. data/examples/singleview/fac_group_compatibility.rb +11 -0
  110. data/examples/singleview/fac_group_instance.rb +19 -0
  111. data/examples/singleview/fac_group_instance_hist.rb +16 -0
  112. data/examples/singleview/facility.rb +9 -0
  113. data/examples/singleview/facility_group.rb +21 -0
  114. data/examples/singleview/facility_group_history.rb +21 -0
  115. data/examples/singleview/foreign_key.rb +9 -0
  116. data/examples/singleview/function_defn.rb +16 -0
  117. data/examples/singleview/function_defn_history.rb +35 -0
  118. data/examples/singleview/function_role.rb +24 -0
  119. data/examples/singleview/function_role_map.rb +10 -0
  120. data/examples/singleview/gl_code.rb +65 -0
  121. data/examples/singleview/gl_code_history.rb +20 -0
  122. data/examples/singleview/gl_upload.rb +10 -0
  123. data/examples/singleview/icon.rb +64 -0
  124. data/examples/singleview/inv_loop_t.rb +4 -0
  125. data/examples/singleview/inv_report_accounts_t.rb +25 -0
  126. data/examples/singleview/invoice.rb +134 -0
  127. data/examples/singleview/invoice_contents.rb +14 -0
  128. data/examples/singleview/invoice_format.rb +31 -0
  129. data/examples/singleview/invoice_format_history.rb +29 -0
  130. data/examples/singleview/invoice_message.rb +17 -0
  131. data/examples/singleview/invoice_message_history.rb +31 -0
  132. data/examples/singleview/invoice_message_variable.rb +10 -0
  133. data/examples/singleview/invoice_receivable_type.rb +13 -0
  134. data/examples/singleview/invoice_type.rb +23 -0
  135. data/examples/singleview/invoice_type_history.rb +26 -0
  136. data/examples/singleview/invoice_type_variable.rb +10 -0
  137. data/examples/singleview/isp_email_address.rb +17 -0
  138. data/examples/singleview/licence_current_values.rb +12 -0
  139. data/examples/singleview/menu_role_map.rb +10 -0
  140. data/examples/singleview/normalised_event.rb +119 -0
  141. data/examples/singleview/normalised_event_error.rb +91 -0
  142. data/examples/singleview/normalised_event_file.rb +75 -0
  143. data/examples/singleview/normalised_event_ft.rb +18 -0
  144. data/examples/singleview/normalised_event_ft_hist.rb +25 -0
  145. data/examples/singleview/normalised_event_ft_var.rb +10 -0
  146. data/examples/singleview/normalised_event_type.rb +54 -0
  147. data/examples/singleview/output_device.rb +37 -0
  148. data/examples/singleview/output_method.rb +32 -0
  149. data/examples/singleview/output_method_type.rb +38 -0
  150. data/examples/singleview/output_select.rb +17 -0
  151. data/examples/singleview/payment.rb +102 -0
  152. data/examples/singleview/payment_batch.rb +43 -0
  153. data/examples/singleview/payment_invoice.rb +17 -0
  154. data/examples/singleview/payment_item.rb +15 -0
  155. data/examples/singleview/payment_type.rb +57 -0
  156. data/examples/singleview/payment_type_variable.rb +8 -0
  157. data/examples/singleview/person.rb +60 -0
  158. data/examples/singleview/person_history.rb +69 -0
  159. data/examples/singleview/person_type.rb +39 -0
  160. data/examples/singleview/plan_table.rb +27 -0
  161. data/examples/singleview/product.rb +45 -0
  162. data/examples/singleview/product_compatibility.rb +13 -0
  163. data/examples/singleview/product_derived_attribute.rb +10 -0
  164. data/examples/singleview/product_facility_group.rb +16 -0
  165. data/examples/singleview/product_group.rb +12 -0
  166. data/examples/singleview/product_group_history.rb +20 -0
  167. data/examples/singleview/product_history.rb +35 -0
  168. data/examples/singleview/product_in_product_group.rb +12 -0
  169. data/examples/singleview/product_instance.rb +41 -0
  170. data/examples/singleview/product_instance_equip.rb +21 -0
  171. data/examples/singleview/product_instance_history.rb +37 -0
  172. data/examples/singleview/product_instance_service.rb +17 -0
  173. data/examples/singleview/product_payment_item.rb +19 -0
  174. data/examples/singleview/product_service_type.rb +32 -0
  175. data/examples/singleview/product_service_type_equip.rb +20 -0
  176. data/examples/singleview/product_subtotal.rb +14 -0
  177. data/examples/singleview/product_tariff.rb +16 -0
  178. data/examples/singleview/racr_clec_t1.rb +12 -0
  179. data/examples/singleview/racr_clec_t2.rb +12 -0
  180. data/examples/singleview/racr_clec_t3.rb +28 -0
  181. data/examples/singleview/racr_t.rb +29 -0
  182. data/examples/singleview/ragd_clec_t.rb +47 -0
  183. data/examples/singleview/ragd_t.rb +28 -0
  184. data/examples/singleview/rapc_t.rb +27 -0
  185. data/examples/singleview/rdfd_cmn_t.rb +17 -0
  186. data/examples/singleview/rdfd_t.rb +16 -0
  187. data/examples/singleview/receivable_type.rb +49 -0
  188. data/examples/singleview/receivable_type_history.rb +25 -0
  189. data/examples/singleview/reference_code.rb +17 -0
  190. data/examples/singleview/reference_type.rb +32 -0
  191. data/examples/singleview/release_info.rb +10 -0
  192. data/examples/singleview/report_reference_type.rb +14 -0
  193. data/examples/singleview/report_reference_type_defs.rb +12 -0
  194. data/examples/singleview/reprocessed_file.rb +32 -0
  195. data/examples/singleview/rgp_file.rb +22 -0
  196. data/examples/singleview/rgp_normalised_event.rb +78 -0
  197. data/examples/singleview/rmag_t.rb +32 -0
  198. data/examples/singleview/rpmr_t.rb +27 -0
  199. data/examples/singleview/rpsi_t.rb +24 -0
  200. data/examples/singleview/rser_t.rb +13 -0
  201. data/examples/singleview/rshu_cmn_t.rb +31 -0
  202. data/examples/singleview/schedule.rb +91 -0
  203. data/examples/singleview/schedule_task_type.rb +43 -0
  204. data/examples/singleview/service.rb +88 -0
  205. data/examples/singleview/service_bill_run_t.rb +12 -0
  206. data/examples/singleview/service_charge_category.rb +22 -0
  207. data/examples/singleview/service_da.rb +11 -0
  208. data/examples/singleview/service_da_array.rb +35 -0
  209. data/examples/singleview/service_duplicate.rb +4 -0
  210. data/examples/singleview/service_history.rb +59 -0
  211. data/examples/singleview/service_type.rb +54 -0
  212. data/examples/singleview/service_type_cc.rb +18 -0
  213. data/examples/singleview/service_type_da.rb +8 -0
  214. data/examples/singleview/service_type_equip_type.rb +11 -0
  215. data/examples/singleview/subtotal.rb +48 -0
  216. data/examples/singleview/subtotal_history.rb +59 -0
  217. data/examples/singleview/subtotal_rating_delta.rb +20 -0
  218. data/examples/singleview/subtotal_rating_value.rb +21 -0
  219. data/examples/singleview/subtotal_term.rb +16 -0
  220. data/examples/singleview/subtotal_value.rb +18 -0
  221. data/examples/singleview/summary_of_change.rb +31 -0
  222. data/examples/singleview/summary_of_change_ev.rb +18 -0
  223. data/examples/singleview/summary_of_change_view.rb +22 -0
  224. data/examples/singleview/t2_anumber_france.rb +22 -0
  225. data/examples/singleview/t2_anumber_italy.rb +22 -0
  226. data/examples/singleview/t2_anumber_netherlands.rb +24 -0
  227. data/examples/singleview/t2_anumber_portugal.rb +22 -0
  228. data/examples/singleview/t2_anumber_spain.rb +22 -0
  229. data/examples/singleview/t2_anumber_switzerland.rb +24 -0
  230. data/examples/singleview/t2_bankreference_austria.rb +7 -0
  231. data/examples/singleview/t2_bankreference_belgium.rb +6 -0
  232. data/examples/singleview/t2_bankreference_france.rb +7 -0
  233. data/examples/singleview/t2_bankreference_germany.rb +7 -0
  234. data/examples/singleview/t2_bankreference_italy.rb +7 -0
  235. data/examples/singleview/t2_bankreference_portugal.rb +7 -0
  236. data/examples/singleview/t2_cc_provrequests.rb +19 -0
  237. data/examples/singleview/t2_emf_info.rb +12 -0
  238. data/examples/singleview/t2_ev_column_label_mapping.rb +9 -0
  239. data/examples/singleview/t2_historytable.rb +26 -0
  240. data/examples/singleview/t2_inv_revoked_invoice.rb +11 -0
  241. data/examples/singleview/t2_inv_suppress_invoice.rb +13 -0
  242. data/examples/singleview/t2_national_number_plan.rb +8 -0
  243. data/examples/singleview/t2_pay_statement.rb +28 -0
  244. data/examples/singleview/t2_prov_req_action.rb +22 -0
  245. data/examples/singleview/t2_prov_request.rb +32 -0
  246. data/examples/singleview/t2_rep_brr_t.rb +19 -0
  247. data/examples/singleview/t2_rep_trr_t.rb +19 -0
  248. data/examples/singleview/t2_rep_ubr_t.rb +19 -0
  249. data/examples/singleview/t2_taxclass.rb +8 -0
  250. data/examples/singleview/t2_zipcode_austria.rb +8 -0
  251. data/examples/singleview/t2_zipcode_france.rb +8 -0
  252. data/examples/singleview/t2_zipcode_germany.rb +8 -0
  253. data/examples/singleview/t2_zipcode_hungary.rb +8 -0
  254. data/examples/singleview/t2_zipcode_luxembourg.rb +8 -0
  255. data/examples/singleview/t2_zipcode_netherlands.rb +8 -0
  256. data/examples/singleview/t2_zipcode_portugal.rb +9 -0
  257. data/examples/singleview/t2_zipcode_spain.rb +8 -0
  258. data/examples/singleview/t2_zipcode_switzerland.rb +8 -0
  259. data/examples/singleview/table_import_order.rb +6 -0
  260. data/examples/singleview/tariff.rb +51 -0
  261. data/examples/singleview/tariff_charge.rb +33 -0
  262. data/examples/singleview/tariff_charge_defn.rb +18 -0
  263. data/examples/singleview/tariff_condition_defn.rb +19 -0
  264. data/examples/singleview/tariff_history.rb +70 -0
  265. data/examples/singleview/tariff_recurring.rb +36 -0
  266. data/examples/singleview/task_queue.rb +130 -0
  267. data/examples/singleview/task_queue_result.rb +10 -0
  268. data/examples/singleview/template.rb +18 -0
  269. data/examples/singleview/template_history.rb +30 -0
  270. data/examples/singleview/template_reference.rb +9 -0
  271. data/examples/singleview/template_variable.rb +10 -0
  272. data/examples/singleview/trt_clec_treatment.rb +13 -0
  273. data/examples/singleview/variable_defn.rb +48 -0
  274. data/examples/singleview/variable_defn_dependency.rb +11 -0
  275. data/examples/singleview/variable_defn_direct.rb +15 -0
  276. data/examples/singleview/variable_defn_history.rb +22 -0
  277. data/examples/singleview/work_force.rb +25 -0
  278. data/examples/singleview/xpsi_addr_val_commtax21.rb +24 -0
  279. data/examples/singleview/xpsi_addr_val_msag.rb +24 -0
  280. data/examples/singleview/xpsi_addr_val_zip.rb +14 -0
  281. data/examples/singleview/xpsi_ne_batch.rb +20 -0
  282. data/examples/singleview/xpsi_product_batch.rb +18 -0
  283. data/examples/singleview/xpsi_product_status.rb +14 -0
  284. data/examples/singleview/xpsi_tax_error.rb +34 -0
  285. data/examples/singleview/xpsi_trt_revoke.rb +68 -0
  286. data/examples/singleview/xpsi_trt_revoke_prod_inst.rb +12 -0
  287. data/examples/singleview/xpsi_update_capture.rb +35 -0
  288. data/lib/activerecord/base.rb +12 -0
  289. data/lib/hash_tricks.rb +21 -0
  290. data/lib/magic_model_generator.rb +8 -0
  291. data/lib/magic_model_generator/schema.rb +205 -0
  292. data/lib/magic_model_generator/validations.rb +48 -0
  293. data/lib/magic_model_generator/version.rb +9 -0
  294. data/lib/rails/generator/dynamic_named_base.rb +99 -0
  295. data/lib/rails/generator/manifest.rb +8 -0
  296. data/magic_model_generator.rb +88 -0
  297. data/templates/model.rb +3 -0
  298. data/test/magic_model_generator_test.rb +11 -0
  299. data/test/test_helper.rb +2 -0
  300. metadata +366 -0
@@ -0,0 +1,43 @@
1
+ class PaymentBatch < ActiveRecord::Base
2
+ belongs_to :payment_batch, :class_name => 'PaymentBatch', :foreign_key => :payment_batch_id
3
+ belongs_to :payment_type, :class_name => 'PaymentType', :foreign_key => :payment_type_id
4
+ belongs_to :currency, :class_name => 'Currency', :foreign_key => :currency_id
5
+ belongs_to :atlanta_operator, :class_name => 'AtlantaOperator', :foreign_key => :atlanta_operator_id
6
+ has_many :payments, :class_name => 'Payment', :foreign_key => :payment_batch_id
7
+ has_many :payment_batches, :class_name => 'PaymentBatch', :foreign_key => :payment_batch_id
8
+ has_many :payment_types, :through => payments
9
+ has_many :customer_nodes, :through => payments
10
+ has_many :currencies, :through => payments
11
+ has_many :invoices, :through => payments
12
+ has_many :atlanta_operators, :through => payments
13
+ has_many :people, :through => payments
14
+ has_many :payments, :through => payments
15
+ has_many :payment_types, :through => payment_batches
16
+ has_many :currencies, :through => payment_batches
17
+ has_many :atlanta_operators, :through => payment_batches
18
+ validates_presence_of :payment_batch_id
19
+ validates_numericality_of :payment_batch_id, :allow_nil => false, :only_integer => true
20
+ validates_presence_of :payment_batch_nr
21
+ validates_length_of :payment_batch_nr, :allow_nil => false, :maximum => 30
22
+ validates_presence_of :payment_type_id
23
+ validates_numericality_of :payment_type_id, :allow_nil => false, :only_integer => true
24
+ validates_numericality_of :currency_id, :allow_nil => true, :only_integer => true
25
+ validates_presence_of :total_amount_currency_id
26
+ validates_numericality_of :total_amount_currency_id, :allow_nil => false, :only_integer => true
27
+ validates_presence_of :last_modified
28
+ validates_presence_of :batch_type_code
29
+ validates_numericality_of :batch_type_code, :allow_nil => false, :only_integer => true
30
+ validates_presence_of :description
31
+ validates_length_of :description, :allow_nil => false, :maximum => 255
32
+ validates_presence_of :batch_date
33
+ validates_presence_of :atlanta_operator_id
34
+ validates_numericality_of :atlanta_operator_id, :allow_nil => false, :only_integer => true
35
+ validates_presence_of :batch_status_code
36
+ validates_numericality_of :batch_status_code, :allow_nil => false, :only_integer => true
37
+ validates_presence_of :total_amount
38
+ validates_numericality_of :total_amount, :allow_nil => false
39
+ validates_presence_of :entered_count
40
+ validates_numericality_of :entered_count, :allow_nil => false, :only_integer => true
41
+ validates_presence_of :applied_count
42
+ validates_numericality_of :applied_count, :allow_nil => false, :only_integer => true
43
+ end
@@ -0,0 +1,17 @@
1
+ class PaymentInvoice < ActiveRecord::Base
2
+ belongs_to :payment, :class_name => 'Payment', :foreign_key => :payment_id
3
+ belongs_to :account, :class_name => 'Account', :foreign_key => :account_id
4
+ belongs_to :invoice, :class_name => 'Invoice', :foreign_key => :invoice_id
5
+ belongs_to :receivable_type, :class_name => 'ReceivableType', :foreign_key => :receivable_type_id
6
+ validates_presence_of :payment_id
7
+ validates_numericality_of :payment_id, :allow_nil => false, :only_integer => true
8
+ validates_presence_of :account_id
9
+ validates_numericality_of :account_id, :allow_nil => false, :only_integer => true
10
+ validates_presence_of :seqnr
11
+ validates_numericality_of :seqnr, :allow_nil => false, :only_integer => true
12
+ validates_presence_of :last_modified
13
+ validates_numericality_of :invoice_id, :allow_nil => true, :only_integer => true
14
+ validates_numericality_of :receivable_type_id, :allow_nil => true, :only_integer => true
15
+ validates_presence_of :amount
16
+ validates_numericality_of :amount, :allow_nil => false
17
+ end
@@ -0,0 +1,15 @@
1
+ class PaymentItem < ActiveRecord::Base
2
+ belongs_to :payment, :class_name => 'Payment', :foreign_key => :payment_id
3
+ belongs_to :receivable_type, :class_name => 'ReceivableType', :foreign_key => :receivable_type_id
4
+ validates_presence_of :payment_id
5
+ validates_numericality_of :payment_id, :allow_nil => false, :only_integer => true
6
+ validates_presence_of :seqnr
7
+ validates_numericality_of :seqnr, :allow_nil => false, :only_integer => true
8
+ validates_presence_of :last_modified
9
+ validates_length_of :label, :allow_nil => true, :maximum => 255
10
+ validates_numericality_of :receivable_type_id, :allow_nil => true, :only_integer => true
11
+ validates_presence_of :amount
12
+ validates_numericality_of :amount, :allow_nil => false
13
+ validates_presence_of :to_amount
14
+ validates_numericality_of :to_amount, :allow_nil => false
15
+ end
@@ -0,0 +1,57 @@
1
+ class PaymentType < ActiveRecord::Base
2
+ belongs_to :payment_type, :class_name => 'PaymentType', :foreign_key => :payment_type_id
3
+ belongs_to :atlanta_operator, :class_name => 'AtlantaOperator', :foreign_key => :atlanta_operator_id
4
+ belongs_to :atlanta_group, :class_name => 'AtlantaGroup', :foreign_key => :atlanta_group_id
5
+ belongs_to :currency, :class_name => 'Currency', :foreign_key => :currency_id
6
+ belongs_to :entity_validation, :class_name => 'EntityValidation', :foreign_key => :entity_validation_id
7
+ has_many :payments, :class_name => 'Payment', :foreign_key => :payment_type_id
8
+ has_many :payment_batches, :class_name => 'PaymentBatch', :foreign_key => :payment_type_id
9
+ has_many :payment_types, :class_name => 'PaymentType', :foreign_key => :payment_type_id
10
+ has_many :payment_type_variables, :class_name => 'PaymentTypeVariable', :foreign_key => :payment_type_id
11
+ has_many :customer_nodes, :through => payments
12
+ has_many :currencies, :through => payments
13
+ has_many :invoices, :through => payments
14
+ has_many :atlanta_operators, :through => payments
15
+ has_many :payment_batches, :through => payments
16
+ has_many :people, :through => payments
17
+ has_many :payments, :through => payments
18
+ has_many :currencies, :through => payment_batches
19
+ has_many :atlanta_operators, :through => payment_batches
20
+ has_many :payment_batches, :through => payment_batches
21
+ has_many :atlanta_groups, :through => payment_types
22
+ has_many :currencies, :through => payment_types
23
+ has_many :atlanta_operators, :through => payment_types
24
+ has_many :entity_validations, :through => payment_types
25
+ has_many :variable_defns, :through => payment_type_variables
26
+ validates_presence_of :payment_type_id
27
+ validates_numericality_of :payment_type_id, :allow_nil => false, :only_integer => true
28
+ validates_presence_of :last_modified
29
+ validates_presence_of :payment_type_name
30
+ validates_length_of :payment_type_name, :allow_nil => false, :maximum => 40
31
+ validates_presence_of :description
32
+ validates_length_of :description, :allow_nil => false, :maximum => 255
33
+ validates_presence_of :atlanta_operator_id
34
+ validates_numericality_of :atlanta_operator_id, :allow_nil => false, :only_integer => true
35
+ validates_presence_of :atlanta_group_id
36
+ validates_numericality_of :atlanta_group_id, :allow_nil => false, :only_integer => true
37
+ validates_numericality_of :currency_id, :allow_nil => true, :only_integer => true
38
+ validates_numericality_of :from_account_type_id, :allow_nil => true, :only_integer => true
39
+ validates_numericality_of :from_gl_code_id, :allow_nil => true, :only_integer => true
40
+ validates_numericality_of :from_account_id, :allow_nil => true, :only_integer => true
41
+ validates_numericality_of :to_account_type_id, :allow_nil => true, :only_integer => true
42
+ validates_numericality_of :to_gl_code_id, :allow_nil => true, :only_integer => true
43
+ validates_presence_of :payment_rejected_code
44
+ validates_numericality_of :payment_rejected_code, :allow_nil => false, :only_integer => true
45
+ validates_numericality_of :from_rejected_gl_code_id, :allow_nil => true, :only_integer => true
46
+ validates_numericality_of :to_rejected_gl_code_id, :allow_nil => true, :only_integer => true
47
+ validates_numericality_of :from_adjust_gl_code_id, :allow_nil => true, :only_integer => true
48
+ validates_numericality_of :to_adjust_gl_code_id, :allow_nil => true, :only_integer => true
49
+ validates_presence_of :receipt_format_expr
50
+ validates_length_of :receipt_format_expr, :allow_nil => false, :maximum => 255
51
+ validates_presence_of :payment_batch_format_expr
52
+ validates_length_of :payment_batch_format_expr, :allow_nil => false, :maximum => 255
53
+ validates_numericality_of :allocation_function_defn_id, :allow_nil => true, :only_integer => true
54
+ validates_numericality_of :adjust_function_defn_id, :allow_nil => true, :only_integer => true
55
+ validates_numericality_of :entity_validation_id, :allow_nil => true, :only_integer => true
56
+ validates_length_of :version_str, :allow_nil => true, :maximum => 255
57
+ end
@@ -0,0 +1,8 @@
1
+ class PaymentTypeVariable < ActiveRecord::Base
2
+ belongs_to :payment_type, :class_name => 'PaymentType', :foreign_key => :payment_type_id
3
+ belongs_to :variable_defn, :class_name => 'VariableDefn', :foreign_key => :variable_defn_id
4
+ validates_presence_of :payment_type_id
5
+ validates_numericality_of :payment_type_id, :allow_nil => false, :only_integer => true
6
+ validates_presence_of :variable_defn_id
7
+ validates_numericality_of :variable_defn_id, :allow_nil => false, :only_integer => true
8
+ end
@@ -0,0 +1,60 @@
1
+ class Person < ActiveRecord::Base
2
+ belongs_to :person, :class_name => 'Person', :foreign_key => :person_id
3
+ has_many :atlanta_operators, :class_name => 'AtlantaOperator', :foreign_key => :person_id
4
+ has_many :contract_histories, :class_name => 'ContractHistory', :foreign_key => :person_id
5
+ has_many :customer_contacts, :class_name => 'CustomerContact', :foreign_key => :person_id
6
+ has_many :customer_node_histories, :class_name => 'CustomerNodeHistory', :foreign_key => :person_id
7
+ has_many :customer_node_inv_formats, :class_name => 'CustomerNodeInvFormat', :foreign_key => :person_id
8
+ has_many :customer_queries, :class_name => 'CustomerQuery', :foreign_key => :person_id
9
+ has_many :payments, :class_name => 'Payment', :foreign_key => :person_id
10
+ has_many :people, :class_name => 'Person', :foreign_key => :person_id
11
+ has_many :person_histories, :class_name => 'PersonHistory', :foreign_key => :person_id
12
+ has_many :service_histories, :class_name => 'ServiceHistory', :foreign_key => :person_id
13
+ has_many :atlanta_groups, :through => atlanta_operators
14
+ has_many :atlanta_operators, :through => atlanta_operators
15
+ has_many :atlanta_profiles, :through => atlanta_operators
16
+ has_many :atlanta_groups, :through => contract_histories
17
+ has_many :customer_nodes, :through => contract_histories
18
+ has_many :contract_types, :through => contract_histories
19
+ has_many :atlanta_operators, :through => contract_histories
20
+ has_many :contracts, :through => contract_histories
21
+ has_many :customer_nodes, :through => customer_contacts
22
+ has_many :atlanta_groups, :through => customer_node_histories
23
+ has_many :customer_nodes, :through => customer_node_histories
24
+ has_many :currencies, :through => customer_node_histories
25
+ has_many :atlanta_operators, :through => customer_node_histories
26
+ has_many :customer_node_types, :through => customer_node_histories
27
+ has_many :schedules, :through => customer_node_histories
28
+ has_many :gl_codes, :through => customer_node_histories
29
+ has_many :customer_nodes, :through => customer_node_inv_formats
30
+ has_many :accounts, :through => customer_node_inv_formats
31
+ has_many :invoice_formats, :through => customer_node_inv_formats
32
+ has_many :atlanta_groups, :through => customer_queries
33
+ has_many :customer_nodes, :through => customer_queries
34
+ has_many :customer_query_types, :through => customer_queries
35
+ has_many :customer_queries, :through => customer_queries
36
+ has_many :currencies, :through => customer_queries
37
+ has_many :invoices, :through => customer_queries
38
+ has_many :accounts, :through => customer_queries
39
+ has_many :atlanta_operators, :through => customer_queries
40
+ has_many :services, :through => customer_queries
41
+ has_many :contracts, :through => customer_queries
42
+ has_many :payment_types, :through => payments
43
+ has_many :customer_nodes, :through => payments
44
+ has_many :currencies, :through => payments
45
+ has_many :invoices, :through => payments
46
+ has_many :atlanta_operators, :through => payments
47
+ has_many :payment_batches, :through => payments
48
+ has_many :payments, :through => payments
49
+ has_many :atlanta_groups, :through => person_histories
50
+ has_many :atlanta_operators, :through => person_histories
51
+ has_many :person_types, :through => person_histories
52
+ has_many :customer_nodes, :through => service_histories
53
+ has_many :atlanta_operators, :through => service_histories
54
+ has_many :service_types, :through => service_histories
55
+ has_many :services, :through => service_histories
56
+ has_many :gl_codes, :through => service_histories
57
+ has_many :contracts, :through => service_histories
58
+ validates_presence_of :person_id
59
+ validates_numericality_of :person_id, :allow_nil => false, :only_integer => true
60
+ end
@@ -0,0 +1,69 @@
1
+ class PersonHistory < ActiveRecord::Base
2
+ belongs_to :person, :class_name => 'Person', :foreign_key => :person_id
3
+ belongs_to :person_type, :class_name => 'PersonType', :foreign_key => :person_type_id
4
+ belongs_to :atlanta_operator, :class_name => 'AtlantaOperator', :foreign_key => :atlanta_operator_id
5
+ belongs_to :atlanta_group, :class_name => 'AtlantaGroup', :foreign_key => :atlanta_group_id
6
+ validates_presence_of :person_id
7
+ validates_numericality_of :person_id, :allow_nil => false, :only_integer => true
8
+ validates_presence_of :last_modified
9
+ validates_presence_of :effective_start_date
10
+ validates_presence_of :effective_end_date
11
+ validates_presence_of :person_type_id
12
+ validates_numericality_of :person_type_id, :allow_nil => false, :only_integer => true
13
+ validates_length_of :primary_identifier, :allow_nil => true, :maximum => 80
14
+ validates_length_of :primary_identifier2, :allow_nil => true, :maximum => 80
15
+ validates_length_of :title, :allow_nil => true, :maximum => 60
16
+ validates_length_of :family_name, :allow_nil => true, :maximum => 110
17
+ validates_length_of :family_name_uppercase, :allow_nil => true, :maximum => 110
18
+ validates_length_of :family_name_soundex, :allow_nil => true, :maximum => 10
19
+ validates_length_of :given_names, :allow_nil => true, :maximum => 80
20
+ validates_length_of :given_names_uppercase, :allow_nil => true, :maximum => 80
21
+ validates_length_of :given_names_soundex, :allow_nil => true, :maximum => 10
22
+ validates_presence_of :official_name
23
+ validates_length_of :official_name, :allow_nil => false, :maximum => 200
24
+ validates_presence_of :official_name_uppercase
25
+ validates_length_of :official_name_uppercase, :allow_nil => false, :maximum => 200
26
+ validates_length_of :preferred_name, :allow_nil => true, :maximum => 80
27
+ validates_numericality_of :gender_code, :allow_nil => true, :only_integer => true
28
+ validates_presence_of :person_status_code
29
+ validates_numericality_of :person_status_code, :allow_nil => false, :only_integer => true
30
+ validates_presence_of :atlanta_operator_id
31
+ validates_numericality_of :atlanta_operator_id, :allow_nil => false, :only_integer => true
32
+ validates_presence_of :atlanta_group_id
33
+ validates_numericality_of :atlanta_group_id, :allow_nil => false, :only_integer => true
34
+ validates_numericality_of :marital_status_code, :allow_nil => true, :only_integer => true
35
+ validates_numericality_of :disability_type_code, :allow_nil => true, :only_integer => true
36
+ validates_numericality_of :home_address_id, :allow_nil => true, :only_integer => true
37
+ validates_numericality_of :postal_address_id, :allow_nil => true, :only_integer => true
38
+ validates_numericality_of :work_address_id, :allow_nil => true, :only_integer => true
39
+ validates_length_of :home_phone_nr, :allow_nil => true, :maximum => 30
40
+ validates_length_of :work_phone_nr, :allow_nil => true, :maximum => 30
41
+ validates_length_of :mobile_phone_nr, :allow_nil => true, :maximum => 30
42
+ validates_length_of :fax_phone_nr, :allow_nil => true, :maximum => 30
43
+ validates_length_of :email_address, :allow_nil => true, :maximum => 255
44
+ validates_length_of :x400_address, :allow_nil => true, :maximum => 255
45
+ validates_numericality_of :profession_code, :allow_nil => true, :only_integer => true
46
+ validates_length_of :employer, :allow_nil => true, :maximum => 80
47
+ validates_numericality_of :nationality_code, :allow_nil => true, :only_integer => true
48
+ validates_length_of :passport, :allow_nil => true, :maximum => 40
49
+ validates_numericality_of :written_language_code, :allow_nil => true, :only_integer => true
50
+ validates_numericality_of :spoken_language_code, :allow_nil => true, :only_integer => true
51
+ validates_numericality_of :residency_status_code, :allow_nil => true, :only_integer => true
52
+ validates_length_of :visa_number, :allow_nil => true, :maximum => 40
53
+ validates_numericality_of :visa_type_code, :allow_nil => true, :only_integer => true
54
+ validates_length_of :social_security_number, :allow_nil => true, :maximum => 40
55
+ validates_length_of :drivers_licence, :allow_nil => true, :maximum => 40
56
+ validates_length_of :password, :allow_nil => true, :maximum => 15
57
+ validates_numericality_of :yearly_earnings, :allow_nil => true
58
+ validates_numericality_of :yearly_earnings_currency_id, :allow_nil => true, :only_integer => true
59
+ validates_length_of :general_1, :allow_nil => true, :maximum => 255
60
+ validates_length_of :general_2, :allow_nil => true, :maximum => 255
61
+ validates_length_of :general_3, :allow_nil => true, :maximum => 255
62
+ validates_length_of :general_4, :allow_nil => true, :maximum => 255
63
+ validates_length_of :general_5, :allow_nil => true, :maximum => 255
64
+ validates_length_of :general_6, :allow_nil => true, :maximum => 255
65
+ validates_length_of :general_7, :allow_nil => true, :maximum => 255
66
+ validates_length_of :general_8, :allow_nil => true, :maximum => 255
67
+ validates_length_of :general_9, :allow_nil => true, :maximum => 255
68
+ validates_length_of :general_10, :allow_nil => true, :maximum => 255
69
+ end
@@ -0,0 +1,39 @@
1
+ class PersonType < ActiveRecord::Base
2
+ belongs_to :person_type, :class_name => 'PersonType', :foreign_key => :person_type_id
3
+ belongs_to :atlanta_operator, :class_name => 'AtlantaOperator', :foreign_key => :atlanta_operator_id
4
+ belongs_to :atlanta_group, :class_name => 'AtlantaGroup', :foreign_key => :atlanta_group_id
5
+ belongs_to :icon, :class_name => 'Icon', :foreign_key => :icon_id
6
+ belongs_to :address_format, :class_name => 'AddressFormat', :foreign_key => :address_format_id
7
+ belongs_to :entity_validation, :class_name => 'EntityValidation', :foreign_key => :entity_validation_id
8
+ has_many :person_histories, :class_name => 'PersonHistory', :foreign_key => :person_type_id
9
+ has_many :person_types, :class_name => 'PersonType', :foreign_key => :person_type_id
10
+ has_many :atlanta_groups, :through => person_histories
11
+ has_many :atlanta_operators, :through => person_histories
12
+ has_many :people, :through => person_histories
13
+ has_many :atlanta_groups, :through => person_types
14
+ has_many :icons, :through => person_types
15
+ has_many :address_formats, :through => person_types
16
+ has_many :atlanta_operators, :through => person_types
17
+ has_many :entity_validations, :through => person_types
18
+ validates_presence_of :person_type_id
19
+ validates_numericality_of :person_type_id, :allow_nil => false, :only_integer => true
20
+ validates_presence_of :last_modified
21
+ validates_presence_of :person_type_name
22
+ validates_length_of :person_type_name, :allow_nil => false, :maximum => 30
23
+ validates_presence_of :description
24
+ validates_length_of :description, :allow_nil => false, :maximum => 255
25
+ validates_presence_of :atlanta_operator_id
26
+ validates_numericality_of :atlanta_operator_id, :allow_nil => false, :only_integer => true
27
+ validates_presence_of :atlanta_group_id
28
+ validates_numericality_of :atlanta_group_id, :allow_nil => false, :only_integer => true
29
+ validates_presence_of :person_form_code
30
+ validates_numericality_of :person_form_code, :allow_nil => false, :only_integer => true
31
+ validates_presence_of :icon_id
32
+ validates_numericality_of :icon_id, :allow_nil => false, :only_integer => true
33
+ validates_presence_of :address_format_id
34
+ validates_numericality_of :address_format_id, :allow_nil => false, :only_integer => true
35
+ validates_numericality_of :entity_validation_id, :allow_nil => true, :only_integer => true
36
+ validates_numericality_of :search_entity_validation_id, :allow_nil => true, :only_integer => true
37
+ validates_numericality_of :verify_entity_validation_id, :allow_nil => true, :only_integer => true
38
+ validates_length_of :version_str, :allow_nil => true, :maximum => 255
39
+ end
@@ -0,0 +1,27 @@
1
+ class PlanTable < ActiveRecord::Base
2
+ validates_length_of :statement_id, :allow_nil => true, :maximum => 30
3
+ validates_length_of :remarks, :allow_nil => true, :maximum => 80
4
+ validates_length_of :operation, :allow_nil => true, :maximum => 30
5
+ validates_length_of :options, :allow_nil => true, :maximum => 30
6
+ validates_length_of :object_node, :allow_nil => true, :maximum => 128
7
+ validates_length_of :object_owner, :allow_nil => true, :maximum => 30
8
+ validates_length_of :object_name, :allow_nil => true, :maximum => 30
9
+ validates_numericality_of :object_instance, :allow_nil => true, :only_integer => true
10
+ validates_length_of :object_type, :allow_nil => true, :maximum => 30
11
+ validates_length_of :optimizer, :allow_nil => true, :maximum => 255
12
+ validates_numericality_of :search_columns, :allow_nil => true
13
+ validates_numericality_of :parent_id, :allow_nil => true, :only_integer => true
14
+ validates_numericality_of :cost, :allow_nil => true, :only_integer => true
15
+ validates_numericality_of :cardinality, :allow_nil => true, :only_integer => true
16
+ validates_numericality_of :bytes, :allow_nil => true, :only_integer => true
17
+ validates_length_of :other_tag, :allow_nil => true, :maximum => 255
18
+ validates_length_of :partition_start, :allow_nil => true, :maximum => 255
19
+ validates_length_of :partition_stop, :allow_nil => true, :maximum => 255
20
+ validates_numericality_of :partition_id, :allow_nil => true, :only_integer => true
21
+ validates_length_of :distribution, :allow_nil => true, :maximum => 30
22
+ validates_numericality_of :cpu_cost, :allow_nil => true, :only_integer => true
23
+ validates_numericality_of :io_cost, :allow_nil => true, :only_integer => true
24
+ validates_numericality_of :temp_space, :allow_nil => true, :only_integer => true
25
+ validates_length_of :access_predicates, :allow_nil => true, :maximum => 4000
26
+ validates_length_of :filter_predicates, :allow_nil => true, :maximum => 4000
27
+ end
@@ -0,0 +1,45 @@
1
+ class Product < ActiveRecord::Base
2
+ belongs_to :product, :class_name => 'Product', :foreign_key => :product_id
3
+ has_many :contract_type_products, :class_name => 'ContractTypeProduct', :foreign_key => :product_id
4
+ has_many :products, :class_name => 'Product', :foreign_key => :product_id
5
+ has_many :product_compatibilities, :class_name => 'ProductCompatibility', :foreign_key => :product_id
6
+ has_many :product_derived_attributes, :class_name => 'ProductDerivedAttribute', :foreign_key => :product_id
7
+ has_many :product_facility_groups, :class_name => 'ProductFacilityGroup', :foreign_key => :product_id
8
+ has_many :product_histories, :class_name => 'ProductHistory', :foreign_key => :product_id
9
+ has_many :product_in_product_groups, :class_name => 'ProductInProductGroup', :foreign_key => :product_id
10
+ has_many :product_instance_histories, :class_name => 'ProductInstanceHistory', :foreign_key => :product_id
11
+ has_many :product_instance_services, :class_name => 'ProductInstanceService', :foreign_key => :product_id
12
+ has_many :product_payment_items, :class_name => 'ProductPaymentItem', :foreign_key => :product_id
13
+ has_many :product_service_types, :class_name => 'ProductServiceType', :foreign_key => :product_id
14
+ has_many :product_subtotals, :class_name => 'ProductSubtotal', :foreign_key => :product_id
15
+ has_many :product_tariffs, :class_name => 'ProductTariff', :foreign_key => :product_id
16
+ has_many :t2_cc_provrequests, :class_name => 'T2CcProvrequests', :foreign_key => :product_id
17
+ has_many :t2_prov_requests, :class_name => 'T2ProvRequest', :foreign_key => :product_id
18
+ has_many :contract_types, :through => contract_type_products
19
+ has_many :service_types, :through => contract_type_products
20
+ has_many :derived_attributes, :through => product_derived_attributes
21
+ has_many :facility_groups, :through => product_facility_groups
22
+ has_many :atlanta_groups, :through => product_histories
23
+ has_many :contract_types, :through => product_histories
24
+ has_many :icons, :through => product_histories
25
+ has_many :atlanta_operators, :through => product_histories
26
+ has_many :product_groups, :through => product_in_product_groups
27
+ has_many :customer_nodes, :through => product_instance_histories
28
+ has_many :atlanta_operators, :through => product_instance_histories
29
+ has_many :contracts, :through => product_instance_histories
30
+ has_many :product_instances, :through => product_instance_histories
31
+ has_many :services, :through => product_instance_services
32
+ has_many :product_instances, :through => product_instance_services
33
+ has_many :service_types, :through => product_service_types
34
+ has_many :product_service_types, :through => product_service_types
35
+ has_many :subtotals, :through => product_subtotals
36
+ has_many :gl_codes, :through => product_subtotals
37
+ has_many :tariffs, :through => product_tariffs
38
+ has_many :charge_categories, :through => product_tariffs
39
+ has_many :customer_nodes, :through => t2_cc_provrequests
40
+ has_many :t2_prov_requests, :through => t2_prov_requests
41
+ has_many :product_instances, :through => t2_prov_requests
42
+ validates_presence_of :product_id
43
+ validates_numericality_of :product_id, :allow_nil => false, :only_integer => true
44
+ validates_length_of :version_str, :allow_nil => true, :maximum => 255
45
+ end
@@ -0,0 +1,13 @@
1
+ class ProductCompatibility < ActiveRecord::Base
2
+ belongs_to :product, :class_name => 'Product', :foreign_key => :product_id
3
+ validates_presence_of :product_id
4
+ validates_numericality_of :product_id, :allow_nil => false, :only_integer => true
5
+ validates_presence_of :compatible_product_id
6
+ validates_numericality_of :compatible_product_id, :allow_nil => false, :only_integer => true
7
+ validates_presence_of :effective_start_date
8
+ validates_presence_of :effective_end_date
9
+ validates_presence_of :description
10
+ validates_length_of :description, :allow_nil => false, :maximum => 255
11
+ validates_numericality_of :reuse_ind_code, :allow_nil => true, :only_integer => true
12
+ validates_numericality_of :display_allocation_ind_code, :allow_nil => true, :only_integer => true
13
+ end
@@ -0,0 +1,10 @@
1
+ class ProductDerivedAttribute < ActiveRecord::Base
2
+ belongs_to :product, :class_name => 'Product', :foreign_key => :product_id
3
+ belongs_to :derived_attribute, :class_name => 'DerivedAttribute', :foreign_key => :derived_attribute_id
4
+ validates_presence_of :product_id
5
+ validates_numericality_of :product_id, :allow_nil => false, :only_integer => true
6
+ validates_presence_of :effective_start_date
7
+ validates_presence_of :effective_end_date
8
+ validates_presence_of :derived_attribute_id
9
+ validates_numericality_of :derived_attribute_id, :allow_nil => false, :only_integer => true
10
+ end
@@ -0,0 +1,16 @@
1
+ class ProductFacilityGroup < ActiveRecord::Base
2
+ belongs_to :product, :class_name => 'Product', :foreign_key => :product_id
3
+ belongs_to :facility_group, :class_name => 'FacilityGroup', :foreign_key => :facility_group_id
4
+ validates_presence_of :product_id
5
+ validates_numericality_of :product_id, :allow_nil => false, :only_integer => true
6
+ validates_presence_of :facility_group_id
7
+ validates_numericality_of :facility_group_id, :allow_nil => false, :only_integer => true
8
+ validates_presence_of :seqnr
9
+ validates_numericality_of :seqnr, :allow_nil => false, :only_integer => true
10
+ validates_presence_of :effective_start_date
11
+ validates_presence_of :effective_end_date
12
+ validates_presence_of :standard_product_ind_code
13
+ validates_numericality_of :standard_product_ind_code, :allow_nil => false, :only_integer => true
14
+ validates_presence_of :initial_fac_group_status_code
15
+ validates_numericality_of :initial_fac_group_status_code, :allow_nil => false, :only_integer => true
16
+ end
@@ -0,0 +1,12 @@
1
+ class ProductGroup < ActiveRecord::Base
2
+ belongs_to :product_group, :class_name => 'ProductGroup', :foreign_key => :product_group_id
3
+ has_many :product_groups, :class_name => 'ProductGroup', :foreign_key => :product_group_id
4
+ has_many :product_group_histories, :class_name => 'ProductGroupHistory', :foreign_key => :product_group_id
5
+ has_many :product_in_product_groups, :class_name => 'ProductInProductGroup', :foreign_key => :product_group_id
6
+ has_many :atlanta_groups, :through => product_group_histories
7
+ has_many :atlanta_operators, :through => product_group_histories
8
+ has_many :products, :through => product_in_product_groups
9
+ validates_presence_of :product_group_id
10
+ validates_numericality_of :product_group_id, :allow_nil => false, :only_integer => true
11
+ validates_length_of :version_str, :allow_nil => true, :maximum => 255
12
+ end