usps-imis-api 0.13.9 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. checksums.yaml +4 -4
  2. data/lib/usps/imis/api.rb +9 -6
  3. data/lib/usps/imis/base_data.rb +0 -3
  4. data/lib/usps/imis/blank_object.rb +0 -4
  5. data/lib/usps/imis/business_object.rb +17 -10
  6. data/lib/usps/imis/command_line/formatters.rb +5 -3
  7. data/lib/usps/imis/command_line/interface.rb +2 -0
  8. data/lib/usps/imis/command_line/options.yml +3 -3
  9. data/lib/usps/imis/command_line.rb +2 -3
  10. data/lib/usps/imis/config.rb +12 -6
  11. data/lib/usps/imis/data.rb +0 -5
  12. data/lib/usps/imis/dependencies.rb +33 -0
  13. data/lib/usps/imis/error.rb +10 -17
  14. data/lib/usps/imis/errors/embedded_model_find_error.rb +20 -0
  15. data/lib/usps/imis/errors/empty_payload_error.rb +23 -0
  16. data/lib/usps/imis/errors/missing_party_field_error.rb +24 -0
  17. data/lib/usps/imis/errors/pattern_matching_error.rb +0 -2
  18. data/lib/usps/imis/logger.rb +0 -3
  19. data/lib/usps/imis/models/associations/individual_demog.rb +11 -0
  20. data/lib/usps/imis/models/base/finders.rb +80 -0
  21. data/lib/usps/imis/models/base/persistence.rb +110 -0
  22. data/lib/usps/imis/models/base.rb +279 -0
  23. data/lib/usps/imis/models/education.rb +25 -0
  24. data/lib/usps/imis/models/generated/abc_cs_contact.rb +91 -0
  25. data/lib/usps/imis/models/generated/abc_fed990.rb +17 -0
  26. data/lib/usps/imis/models/generated/abc_ps_volunteer_skills.rb +16 -0
  27. data/lib/usps/imis/models/generated/access_area.rb +22 -0
  28. data/lib/usps/imis/models/generated/access_item.rb +18 -0
  29. data/lib/usps/imis/models/generated/access_main.rb +18 -0
  30. data/lib/usps/imis/models/generated/action_plan.rb +21 -0
  31. data/lib/usps/imis/models/generated/activity.rb +57 -0
  32. data/lib/usps/imis/models/generated/activity_ldao.rb +58 -0
  33. data/lib/usps/imis/models/generated/activity_ldcdr.rb +57 -0
  34. data/lib/usps/imis/models/generated/activity_ldxo.rb +57 -0
  35. data/lib/usps/imis/models/generated/add_family.rb +13 -0
  36. data/lib/usps/imis/models/generated/advanced_email_twelve_months_delivered_by_date.rb +16 -0
  37. data/lib/usps/imis/models/generated/advanced_email_twelve_months_totals.rb +16 -0
  38. data/lib/usps/imis/models/generated/aec_chapter_events.rb +28 -0
  39. data/lib/usps/imis/models/generated/aec_chapter_link_all_events.rb +18 -0
  40. data/lib/usps/imis/models/generated/aec_district_administrators.rb +19 -0
  41. data/lib/usps/imis/models/generated/aec_district_squadron_admins.rb +14 -0
  42. data/lib/usps/imis/models/generated/aec_district_squadron_events.rb +15 -0
  43. data/lib/usps/imis/models/generated/aec_si_r_charge_fee_percentages.rb +14 -0
  44. data/lib/usps/imis/models/generated/aec_si_r_charge_params.rb +16 -0
  45. data/lib/usps/imis/models/generated/appeal.rb +39 -0
  46. data/lib/usps/imis/models/generated/appeal_status_ref.rb +15 -0
  47. data/lib/usps/imis/models/generated/asc_ps_abc_squadron_price.rb +25 -0
  48. data/lib/usps/imis/models/generated/atom_panel_purpose.rb +15 -0
  49. data/lib/usps/imis/models/generated/auto_pay_instruction_detail.rb +22 -0
  50. data/lib/usps/imis/models/generated/auto_pay_invoices.rb +24 -0
  51. data/lib/usps/imis/models/generated/auto_pay_invoices_dues.rb +29 -0
  52. data/lib/usps/imis/models/generated/auto_pay_member_instruction_detail.rb +22 -0
  53. data/lib/usps/imis/models/generated/auto_pay_membership_invoices_base.rb +28 -0
  54. data/lib/usps/imis/models/generated/bad_address_reason_ref.rb +18 -0
  55. data/lib/usps/imis/models/generated/batch_line_status_ref.rb +14 -0
  56. data/lib/usps/imis/models/generated/billing_cycles.rb +50 -0
  57. data/lib/usps/imis/models/generated/billing_fees.rb +61 -0
  58. data/lib/usps/imis/models/generated/billing_fees_by_bill_to_party.rb +20 -0
  59. data/lib/usps/imis/models/generated/billing_issue_notification_by_bill_run.rb +20 -0
  60. data/lib/usps/imis/models/generated/billing_issue_notification_by_party.rb +30 -0
  61. data/lib/usps/imis/models/generated/billing_log_by_bill_cycle_data.rb +28 -0
  62. data/lib/usps/imis/models/generated/billing_log_by_party.rb +29 -0
  63. data/lib/usps/imis/models/generated/billing_product.rb +30 -0
  64. data/lib/usps/imis/models/generated/bo_district_dues.rb +26 -0
  65. data/lib/usps/imis/models/generated/bo_dues_fees.rb +21 -0
  66. data/lib/usps/imis/models/generated/bo_dues_pricing.rb +18 -0
  67. data/lib/usps/imis/models/generated/bo_national_dues.rb +84 -0
  68. data/lib/usps/imis/models/generated/bo_no_natl_dist_dues.rb +135 -0
  69. data/lib/usps/imis/models/generated/bo_squadron_dues.rb +26 -0
  70. data/lib/usps/imis/models/generated/bo_total.rb +17 -0
  71. data/lib/usps/imis/models/generated/campaign.rb +42 -0
  72. data/lib/usps/imis/models/generated/campaign_status_ref.rb +15 -0
  73. data/lib/usps/imis/models/generated/campaign_type_ref.rb +15 -0
  74. data/lib/usps/imis/models/generated/certification_module_status.rb +14 -0
  75. data/lib/usps/imis/models/generated/change_log_report.rb +25 -0
  76. data/lib/usps/imis/models/generated/change_property.rb +18 -0
  77. data/lib/usps/imis/models/generated/chapt_subscriptions.rb +14 -0
  78. data/lib/usps/imis/models/generated/chapter.rb +15 -0
  79. data/lib/usps/imis/models/generated/chapter_events.rb +30 -0
  80. data/lib/usps/imis/models/generated/commerce_product.rb +47 -0
  81. data/lib/usps/imis/models/generated/commission_rate_type_ref.rb +14 -0
  82. data/lib/usps/imis/models/generated/committee.rb +16 -0
  83. data/lib/usps/imis/models/generated/committee_districts_org_id.rb +16 -0
  84. data/lib/usps/imis/models/generated/committee_i_ds_temp.rb +13 -0
  85. data/lib/usps/imis/models/generated/committee_squadrons_org_id.rb +16 -0
  86. data/lib/usps/imis/models/generated/communication_log_summary_for_charts.rb +15 -0
  87. data/lib/usps/imis/models/generated/communication_message_type_ref.rb +14 -0
  88. data/lib/usps/imis/models/generated/communication_reason_ref.rb +22 -0
  89. data/lib/usps/imis/models/generated/community_items.rb +25 -0
  90. data/lib/usps/imis/models/generated/community_subscriptions.rb +25 -0
  91. data/lib/usps/imis/models/generated/comparison_ref.rb +14 -0
  92. data/lib/usps/imis/models/generated/component_registry.rb +28 -0
  93. data/lib/usps/imis/models/generated/contact.rb +32 -0
  94. data/lib/usps/imis/models/generated/contact_birthday_info.rb +20 -0
  95. data/lib/usps/imis/models/generated/contact_communication_reason_preferences.rb +25 -0
  96. data/lib/usps/imis/models/generated/contact_detail_report.rb +49 -0
  97. data/lib/usps/imis/models/generated/contact_offering_ref.rb +14 -0
  98. data/lib/usps/imis/models/generated/contact_profile_image.rb +22 -0
  99. data/lib/usps/imis/models/generated/contact_report.rb +23 -0
  100. data/lib/usps/imis/models/generated/contact_salutation.rb +18 -0
  101. data/lib/usps/imis/models/generated/contact_skill_ref.rb +14 -0
  102. data/lib/usps/imis/models/generated/contact_social_network.rb +19 -0
  103. data/lib/usps/imis/models/generated/contact_status_ref.rb +15 -0
  104. data/lib/usps/imis/models/generated/contact_type_ref.rb +16 -0
  105. data/lib/usps/imis/models/generated/content_filter.rb +18 -0
  106. data/lib/usps/imis/models/generated/content_manager_authority_group.rb +14 -0
  107. data/lib/usps/imis/models/generated/cost_method_ref.rb +15 -0
  108. data/lib/usps/imis/models/generated/country_ref.rb +27 -0
  109. data/lib/usps/imis/models/generated/credit_type_ref.rb +14 -0
  110. data/lib/usps/imis/models/generated/cs_activity.rb +50 -0
  111. data/lib/usps/imis/models/generated/cs_activity_basic.rb +51 -0
  112. data/lib/usps/imis/models/generated/cs_activity_forms.rb +38 -0
  113. data/lib/usps/imis/models/generated/cs_activity_types.rb +16 -0
  114. data/lib/usps/imis/models/generated/cs_address.rb +40 -0
  115. data/lib/usps/imis/models/generated/cs_address_formats.rb +15 -0
  116. data/lib/usps/imis/models/generated/cs_appeal.rb +23 -0
  117. data/lib/usps/imis/models/generated/cs_calls.rb +20 -0
  118. data/lib/usps/imis/models/generated/cs_campaign.rb +20 -0
  119. data/lib/usps/imis/models/generated/cs_committee.rb +23 -0
  120. data/lib/usps/imis/models/generated/cs_committee_code.rb +20 -0
  121. data/lib/usps/imis/models/generated/cs_committee_member.rb +38 -0
  122. data/lib/usps/imis/models/generated/cs_committee_member_group.rb +15 -0
  123. data/lib/usps/imis/models/generated/cs_committee_position.rb +16 -0
  124. data/lib/usps/imis/models/generated/cs_contact.rb +91 -0
  125. data/lib/usps/imis/models/generated/cs_contact_basic.rb +79 -0
  126. data/lib/usps/imis/models/generated/cs_country_names.rb +19 -0
  127. data/lib/usps/imis/models/generated/cs_donations.rb +31 -0
  128. data/lib/usps/imis/models/generated/cs_donations_detail.rb +33 -0
  129. data/lib/usps/imis/models/generated/cs_donor_data.rb +21 -0
  130. data/lib/usps/imis/models/generated/cs_dues_history.rb +22 -0
  131. data/lib/usps/imis/models/generated/cs_event.rb +92 -0
  132. data/lib/usps/imis/models/generated/cs_event_history.rb +20 -0
  133. data/lib/usps/imis/models/generated/cs_exchange_rate.rb +14 -0
  134. data/lib/usps/imis/models/generated/cs_freight_dollar.rb +14 -0
  135. data/lib/usps/imis/models/generated/cs_function.rb +57 -0
  136. data/lib/usps/imis/models/generated/cs_function_fees.rb +20 -0
  137. data/lib/usps/imis/models/generated/cs_gen_tables_union.rb +15 -0
  138. data/lib/usps/imis/models/generated/cs_general_lookup_tables.rb +17 -0
  139. data/lib/usps/imis/models/generated/cs_inventory.rb +37 -0
  140. data/lib/usps/imis/models/generated/cs_invoice.rb +51 -0
  141. data/lib/usps/imis/models/generated/cs_iso_currency_codes.rb +14 -0
  142. data/lib/usps/imis/models/generated/cs_member_type.rb +18 -0
  143. data/lib/usps/imis/models/generated/cs_name_fin.rb +27 -0
  144. data/lib/usps/imis/models/generated/cs_name_fr.rb +27 -0
  145. data/lib/usps/imis/models/generated/cs_name_log.rb +17 -0
  146. data/lib/usps/imis/models/generated/cs_name_note.rb +18 -0
  147. data/lib/usps/imis/models/generated/cs_name_picture.rb +19 -0
  148. data/lib/usps/imis/models/generated/cs_name_user.rb +18 -0
  149. data/lib/usps/imis/models/generated/cs_order_history.rb +22 -0
  150. data/lib/usps/imis/models/generated/cs_order_lines.rb +54 -0
  151. data/lib/usps/imis/models/generated/cs_order_type.rb +15 -0
  152. data/lib/usps/imis/models/generated/cs_orders.rb +85 -0
  153. data/lib/usps/imis/models/generated/cs_org_control.rb +47 -0
  154. data/lib/usps/imis/models/generated/cs_product.rb +49 -0
  155. data/lib/usps/imis/models/generated/cs_product_category.rb +18 -0
  156. data/lib/usps/imis/models/generated/cs_product_fundraising.rb +22 -0
  157. data/lib/usps/imis/models/generated/cs_product_location.rb +14 -0
  158. data/lib/usps/imis/models/generated/cs_product_type.rb +14 -0
  159. data/lib/usps/imis/models/generated/cs_reg_functions.rb +36 -0
  160. data/lib/usps/imis/models/generated/cs_registrant_classes.rb +15 -0
  161. data/lib/usps/imis/models/generated/cs_registration.rb +39 -0
  162. data/lib/usps/imis/models/generated/cs_relationship.rb +25 -0
  163. data/lib/usps/imis/models/generated/cs_relationship_types.rb +17 -0
  164. data/lib/usps/imis/models/generated/cs_salutations.rb +14 -0
  165. data/lib/usps/imis/models/generated/cs_staff_user.rb +34 -0
  166. data/lib/usps/imis/models/generated/cs_state_province_codes.rb +15 -0
  167. data/lib/usps/imis/models/generated/cs_subscriptions.rb +58 -0
  168. data/lib/usps/imis/models/generated/cs_subscriptions_chapters.rb +15 -0
  169. data/lib/usps/imis/models/generated/cs_system_params.rb +15 -0
  170. data/lib/usps/imis/models/generated/cs_terms.rb +17 -0
  171. data/lib/usps/imis/models/generated/cs_trans_notify.rb +16 -0
  172. data/lib/usps/imis/models/generated/cs_web_security_group.rb +14 -0
  173. data/lib/usps/imis/models/generated/cs_web_user.rb +18 -0
  174. data/lib/usps/imis/models/generated/culture_ref.rb +14 -0
  175. data/lib/usps/imis/models/generated/customer_experience_status.rb +14 -0
  176. data/lib/usps/imis/models/generated/data_type.rb +16 -0
  177. data/lib/usps/imis/models/generated/data_vault_attempt_settlement_status_ref.rb +15 -0
  178. data/lib/usps/imis/models/generated/data_vault_attempt_status_ref.rb +14 -0
  179. data/lib/usps/imis/models/generated/data_vault_attempt_summary.rb +39 -0
  180. data/lib/usps/imis/models/generated/data_vault_batch_summary.rb +21 -0
  181. data/lib/usps/imis/models/generated/data_vault_log_attempt.rb +25 -0
  182. data/lib/usps/imis/models/generated/data_vault_status_ref.rb +14 -0
  183. data/lib/usps/imis/models/generated/data_vault_status_summary.rb +15 -0
  184. data/lib/usps/imis/models/generated/data_vault_status_summary_detail.rb +19 -0
  185. data/lib/usps/imis/models/generated/date_dimension.rb +24 -0
  186. data/lib/usps/imis/models/generated/day_of_the_week_ref.rb +14 -0
  187. data/lib/usps/imis/models/generated/discountable_item.rb +20 -0
  188. data/lib/usps/imis/models/generated/discountable_item_class.rb +15 -0
  189. data/lib/usps/imis/models/generated/distinct_user_defined_multi_select_properties.rb +17 -0
  190. data/lib/usps/imis/models/generated/districts_and_primary_members.rb +15 -0
  191. data/lib/usps/imis/models/generated/document_path.rb +14 -0
  192. data/lib/usps/imis/models/generated/document_storage.rb +23 -0
  193. data/lib/usps/imis/models/generated/document_system_size_info.rb +36 -0
  194. data/lib/usps/imis/models/generated/document_system_size_info_by_type.rb +37 -0
  195. data/lib/usps/imis/models/generated/document_system_status_count_info.rb +14 -0
  196. data/lib/usps/imis/models/generated/document_system_status_size_info.rb +15 -0
  197. data/lib/usps/imis/models/generated/document_system_type_count_info.rb +14 -0
  198. data/lib/usps/imis/models/generated/document_system_type_size_info.rb +15 -0
  199. data/lib/usps/imis/models/generated/document_type.rb +34 -0
  200. data/lib/usps/imis/models/generated/document_type_status_path_info.rb +28 -0
  201. data/lib/usps/imis/models/generated/donation.rb +31 -0
  202. data/lib/usps/imis/models/generated/donation_performance.rb +19 -0
  203. data/lib/usps/imis/models/generated/donation_summary.rb +36 -0
  204. data/lib/usps/imis/models/generated/dynamic_group.rb +18 -0
  205. data/lib/usps/imis/models/generated/educ_abc.rb +21 -0
  206. data/lib/usps/imis/models/generated/educ_boc.rb +21 -0
  207. data/lib/usps/imis/models/generated/educ_crs.rb +21 -0
  208. data/lib/usps/imis/models/generated/educ_id.rb +21 -0
  209. data/lib/usps/imis/models/generated/educ_ot.rb +21 -0
  210. data/lib/usps/imis/models/generated/educ_sem.rb +21 -0
  211. data/lib/usps/imis/models/generated/education_in_progress.rb +16 -0
  212. data/lib/usps/imis/models/generated/education_level_ref.rb +15 -0
  213. data/lib/usps/imis/models/generated/effective_contact_communication_preferences_data.rb +23 -0
  214. data/lib/usps/imis/models/generated/effective_fundraising_preferences_data.rb +18 -0
  215. data/lib/usps/imis/models/generated/engagement_category.rb +23 -0
  216. data/lib/usps/imis/models/generated/engagement_measure.rb +24 -0
  217. data/lib/usps/imis/models/generated/engagement_score_current_data.rb +21 -0
  218. data/lib/usps/imis/models/generated/engagement_score_formula.rb +19 -0
  219. data/lib/usps/imis/models/generated/engagement_score_monthly_data.rb +22 -0
  220. data/lib/usps/imis/models/generated/engagement_score_result.rb +21 -0
  221. data/lib/usps/imis/models/generated/engagement_score_yearly_data.rb +21 -0
  222. data/lib/usps/imis/models/generated/event_category_list.rb +16 -0
  223. data/lib/usps/imis/models/generated/event_function_resource_data.rb +22 -0
  224. data/lib/usps/imis/models/generated/event_question.rb +24 -0
  225. data/lib/usps/imis/models/generated/event_question_response.rb +25 -0
  226. data/lib/usps/imis/models/generated/event_registrants_report.rb +45 -0
  227. data/lib/usps/imis/models/generated/execution_mode_ref.rb +15 -0
  228. data/lib/usps/imis/models/generated/experience_definition_status.rb +14 -0
  229. data/lib/usps/imis/models/generated/expired_member_update_detail_log.rb +19 -0
  230. data/lib/usps/imis/models/generated/family_add_contact.rb +91 -0
  231. data/lib/usps/imis/models/generated/family_member_count.rb +37 -0
  232. data/lib/usps/imis/models/generated/file_type_ref.rb +16 -0
  233. data/lib/usps/imis/models/generated/first_notify_contact_per_gift.rb +14 -0
  234. data/lib/usps/imis/models/generated/first_payment_date_type_ref.rb +15 -0
  235. data/lib/usps/imis/models/generated/form_definition_field_data.rb +19 -0
  236. data/lib/usps/imis/models/generated/form_field_response_data.rb +22 -0
  237. data/lib/usps/imis/models/generated/fundraising_preference_ref.rb +15 -0
  238. data/lib/usps/imis/models/generated/fundraising_profile_donor_data.rb +18 -0
  239. data/lib/usps/imis/models/generated/gateway_result_ref.rb +14 -0
  240. data/lib/usps/imis/models/generated/gateway_transaction_data.rb +35 -0
  241. data/lib/usps/imis/models/generated/gateway_transaction_ref.rb +15 -0
  242. data/lib/usps/imis/models/generated/gateway_type_ref.rb +17 -0
  243. data/lib/usps/imis/models/generated/gift.rb +41 -0
  244. data/lib/usps/imis/models/generated/gift_adjustment_log_summary.rb +25 -0
  245. data/lib/usps/imis/models/generated/gift_aid_claim_status_ref.rb +14 -0
  246. data/lib/usps/imis/models/generated/gift_array.rb +16 -0
  247. data/lib/usps/imis/models/generated/gift_detail.rb +29 -0
  248. data/lib/usps/imis/models/generated/gift_history.rb +45 -0
  249. data/lib/usps/imis/models/generated/gift_history_summary.rb +33 -0
  250. data/lib/usps/imis/models/generated/gift_history_summary_basic.rb +33 -0
  251. data/lib/usps/imis/models/generated/gift_summary.rb +16 -0
  252. data/lib/usps/imis/models/generated/gift_totals_by_date.rb +15 -0
  253. data/lib/usps/imis/models/generated/gift_transaction.rb +43 -0
  254. data/lib/usps/imis/models/generated/gifts_received.rb +32 -0
  255. data/lib/usps/imis/models/generated/gifts_received_for_receipting.rb +44 -0
  256. data/lib/usps/imis/models/generated/gifts_received_summary.rb +33 -0
  257. data/lib/usps/imis/models/generated/gifts_with_void_and_replaced_receipts.rb +43 -0
  258. data/lib/usps/imis/models/generated/gl_batch_transaction_data.rb +30 -0
  259. data/lib/usps/imis/models/generated/gl_daily_transaction_data.rb +30 -0
  260. data/lib/usps/imis/models/generated/gl_detail_due_to_due_from_transaction_data.rb +17 -0
  261. data/lib/usps/imis/models/generated/gl_detail_transaction_data.rb +36 -0
  262. data/lib/usps/imis/models/generated/gl_detail_transaction_data_full.rb +36 -0
  263. data/lib/usps/imis/models/generated/gl_due_to_due_from_transaction_data.rb +18 -0
  264. data/lib/usps/imis/models/generated/gl_entry_type_ref.rb +14 -0
  265. data/lib/usps/imis/models/generated/gl_export_format_type_ref.rb +14 -0
  266. data/lib/usps/imis/models/generated/gl_export_log_detail.rb +15 -0
  267. data/lib/usps/imis/models/generated/gl_export_log_summary.rb +26 -0
  268. data/lib/usps/imis/models/generated/gl_export_multiple.rb +15 -0
  269. data/lib/usps/imis/models/generated/gl_export_summary_level_ref.rb +15 -0
  270. data/lib/usps/imis/models/generated/gl_monthly_due_to_due_from_transaction_data.rb +18 -0
  271. data/lib/usps/imis/models/generated/gl_monthly_transaction_data.rb +29 -0
  272. data/lib/usps/imis/models/generated/gl_source_item_type_ref.rb +14 -0
  273. data/lib/usps/imis/models/generated/gl_transaction_data.rb +41 -0
  274. data/lib/usps/imis/models/generated/grade.rb +14 -0
  275. data/lib/usps/imis/models/generated/group_info.rb +28 -0
  276. data/lib/usps/imis/models/generated/group_member_administrator_type_ref.rb +15 -0
  277. data/lib/usps/imis/models/generated/group_member_detail.rb +29 -0
  278. data/lib/usps/imis/models/generated/group_member_status_ref.rb +15 -0
  279. data/lib/usps/imis/models/generated/group_perspective.rb +16 -0
  280. data/lib/usps/imis/models/generated/group_price_sheet.rb +17 -0
  281. data/lib/usps/imis/models/generated/group_role_ref.rb +17 -0
  282. data/lib/usps/imis/models/generated/group_status_ref.rb +16 -0
  283. data/lib/usps/imis/models/generated/group_type_member_status.rb +17 -0
  284. data/lib/usps/imis/models/generated/group_type_ref.rb +33 -0
  285. data/lib/usps/imis/models/generated/group_type_role.rb +22 -0
  286. data/lib/usps/imis/models/generated/handling_price_ref.rb +15 -0
  287. data/lib/usps/imis/models/generated/hierarchy.rb +21 -0
  288. data/lib/usps/imis/models/generated/hierarchy_root.rb +22 -0
  289. data/lib/usps/imis/models/generated/i_series_data.rb +15 -0
  290. data/lib/usps/imis/models/generated/individual_demog.rb +34 -0
  291. data/lib/usps/imis/models/generated/institute_type_code_ref.rb +16 -0
  292. data/lib/usps/imis/models/generated/interaction_log.rb +35 -0
  293. data/lib/usps/imis/models/generated/interaction_log_event.rb +24 -0
  294. data/lib/usps/imis/models/generated/interaction_log_event_summary.rb +30 -0
  295. data/lib/usps/imis/models/generated/interval_type_ref.rb +15 -0
  296. data/lib/usps/imis/models/generated/invoice_line_data.rb +39 -0
  297. data/lib/usps/imis/models/generated/invoice_lines.rb +42 -0
  298. data/lib/usps/imis/models/generated/invoice_number.rb +16 -0
  299. data/lib/usps/imis/models/generated/invoice_payment_summary.rb +14 -0
  300. data/lib/usps/imis/models/generated/invoice_purpose.rb +15 -0
  301. data/lib/usps/imis/models/generated/invoice_source_system_ref.rb +13 -0
  302. data/lib/usps/imis/models/generated/invoice_type_ref.rb +14 -0
  303. data/lib/usps/imis/models/generated/journal_entry_type_ref.rb +14 -0
  304. data/lib/usps/imis/models/generated/license_ref.rb +15 -0
  305. data/lib/usps/imis/models/generated/line_pricing_ref.rb +15 -0
  306. data/lib/usps/imis/models/generated/list_entity.rb +14 -0
  307. data/lib/usps/imis/models/generated/locale_ref.rb +14 -0
  308. data/lib/usps/imis/models/generated/location_status.rb +14 -0
  309. data/lib/usps/imis/models/generated/mail_code_ref.rb +16 -0
  310. data/lib/usps/imis/models/generated/matching_gift_plan_type_ref.rb +15 -0
  311. data/lib/usps/imis/models/generated/matching_mode_ref.rb +15 -0
  312. data/lib/usps/imis/models/generated/matching_period_ref.rb +15 -0
  313. data/lib/usps/imis/models/generated/memorial_tribute_type_ref.rb +14 -0
  314. data/lib/usps/imis/models/generated/method_set_type_ref.rb +14 -0
  315. data/lib/usps/imis/models/generated/month_ref.rb +18 -0
  316. data/lib/usps/imis/models/generated/name_prefixes.rb +15 -0
  317. data/lib/usps/imis/models/generated/name_suffixes.rb +13 -0
  318. data/lib/usps/imis/models/generated/navigation_pane.rb +18 -0
  319. data/lib/usps/imis/models/generated/net_contact.rb +99 -0
  320. data/lib/usps/imis/models/generated/net_contact_basic.rb +88 -0
  321. data/lib/usps/imis/models/generated/net_contact_data.rb +88 -0
  322. data/lib/usps/imis/models/generated/note_purpose_ref.rb +14 -0
  323. data/lib/usps/imis/models/generated/offering_status.rb +14 -0
  324. data/lib/usps/imis/models/generated/opportunity_class_ref.rb +15 -0
  325. data/lib/usps/imis/models/generated/opportunity_default_status_ref.rb +15 -0
  326. data/lib/usps/imis/models/generated/opportunity_status_ref.rb +15 -0
  327. data/lib/usps/imis/models/generated/opportunity_task_user.rb +20 -0
  328. data/lib/usps/imis/models/generated/opportunity_type.rb +29 -0
  329. data/lib/usps/imis/models/generated/order_category.rb +14 -0
  330. data/lib/usps/imis/models/generated/order_fulfillment_status_ref.rb +14 -0
  331. data/lib/usps/imis/models/generated/order_invoice.rb +14 -0
  332. data/lib/usps/imis/models/generated/order_state_ref.rb +14 -0
  333. data/lib/usps/imis/models/generated/order_type_detail.rb +17 -0
  334. data/lib/usps/imis/models/generated/org_demog.rb +28 -0
  335. data/lib/usps/imis/models/generated/organization_demo.rb +18 -0
  336. data/lib/usps/imis/models/generated/organization_hierarchy.rb +19 -0
  337. data/lib/usps/imis/models/generated/package.rb +25 -0
  338. data/lib/usps/imis/models/generated/package_item.rb +19 -0
  339. data/lib/usps/imis/models/generated/package_status_ref.rb +14 -0
  340. data/lib/usps/imis/models/generated/payment_application.rb +31 -0
  341. data/lib/usps/imis/models/generated/payment_application_detail.rb +35 -0
  342. data/lib/usps/imis/models/generated/payment_application_restriction_ref.rb +14 -0
  343. data/lib/usps/imis/models/generated/payment_application_summary.rb +18 -0
  344. data/lib/usps/imis/models/generated/payment_application_type.rb +14 -0
  345. data/lib/usps/imis/models/generated/payment_category_ref.rb +14 -0
  346. data/lib/usps/imis/models/generated/payment_detail_status_ref.rb +15 -0
  347. data/lib/usps/imis/models/generated/payment_method_data.rb +20 -0
  348. data/lib/usps/imis/models/generated/payment_reconciliation.rb +26 -0
  349. data/lib/usps/imis/models/generated/payment_status_ref.rb +14 -0
  350. data/lib/usps/imis/models/generated/percentile_ranking.rb +20 -0
  351. data/lib/usps/imis/models/generated/picture_purpose_ref.rb +14 -0
  352. data/lib/usps/imis/models/generated/pin_update.rb +13 -0
  353. data/lib/usps/imis/models/generated/pipeline.rb +15 -0
  354. data/lib/usps/imis/models/generated/pipeline_stage.rb +17 -0
  355. data/lib/usps/imis/models/generated/postal_code_ref.rb +26 -0
  356. data/lib/usps/imis/models/generated/prefix_ref.rb +17 -0
  357. data/lib/usps/imis/models/generated/price_basis_ref.rb +15 -0
  358. data/lib/usps/imis/models/generated/pricing_type_ref.rb +15 -0
  359. data/lib/usps/imis/models/generated/primary_fam_members.rb +14 -0
  360. data/lib/usps/imis/models/generated/process_type_default_owner_all_users.rb +15 -0
  361. data/lib/usps/imis/models/generated/product_price_sheet.rb +20 -0
  362. data/lib/usps/imis/models/generated/product_status_ref.rb +15 -0
  363. data/lib/usps/imis/models/generated/product_trans.rb +31 -0
  364. data/lib/usps/imis/models/generated/product_trans_detail.rb +17 -0
  365. data/lib/usps/imis/models/generated/profile_documents.rb +15 -0
  366. data/lib/usps/imis/models/generated/profile_page.rb +36 -0
  367. data/lib/usps/imis/models/generated/program_group_status.rb +14 -0
  368. data/lib/usps/imis/models/generated/program_status.rb +14 -0
  369. data/lib/usps/imis/models/generated/promotion_rule_ref.rb +15 -0
  370. data/lib/usps/imis/models/generated/property_definition.rb +33 -0
  371. data/lib/usps/imis/models/generated/prospect.rb +38 -0
  372. data/lib/usps/imis/models/generated/publish_priority.rb +14 -0
  373. data/lib/usps/imis/models/generated/publish_request.rb +18 -0
  374. data/lib/usps/imis/models/generated/publish_request_detail.rb +22 -0
  375. data/lib/usps/imis/models/generated/publish_request_status.rb +15 -0
  376. data/lib/usps/imis/models/generated/publish_server.rb +29 -0
  377. data/lib/usps/imis/models/generated/quality_ref.rb +15 -0
  378. data/lib/usps/imis/models/generated/rank.rb +21 -0
  379. data/lib/usps/imis/models/generated/receipt_report.rb +24 -0
  380. data/lib/usps/imis/models/generated/receipt_status_ref.rb +15 -0
  381. data/lib/usps/imis/models/generated/recurring_donation_expected_payment_set.rb +19 -0
  382. data/lib/usps/imis/models/generated/recurring_donation_expected_payment_set_list.rb +20 -0
  383. data/lib/usps/imis/models/generated/recurring_donation_expected_payment_set_status.rb +15 -0
  384. data/lib/usps/imis/models/generated/recurring_donation_expected_payment_status.rb +15 -0
  385. data/lib/usps/imis/models/generated/recurring_donation_frequency_ref.rb +15 -0
  386. data/lib/usps/imis/models/generated/reference_date.rb +13 -0
  387. data/lib/usps/imis/models/generated/registered_component.rb +27 -0
  388. data/lib/usps/imis/models/generated/registration_status.rb +14 -0
  389. data/lib/usps/imis/models/generated/relationship.rb +18 -0
  390. data/lib/usps/imis/models/generated/relationship_category.rb +17 -0
  391. data/lib/usps/imis/models/generated/relationship_type_category.rb +17 -0
  392. data/lib/usps/imis/models/generated/relationship_type_ref.rb +16 -0
  393. data/lib/usps/imis/models/generated/relationship_update.rb +16 -0
  394. data/lib/usps/imis/models/generated/relationship_update_contact_panel.rb +16 -0
  395. data/lib/usps/imis/models/generated/remove_district_org_committee_terms.rb +28 -0
  396. data/lib/usps/imis/models/generated/remove_squadron_org_committee_terms.rb +28 -0
  397. data/lib/usps/imis/models/generated/reporting_group_user.rb +14 -0
  398. data/lib/usps/imis/models/generated/response_media_ref.rb +14 -0
  399. data/lib/usps/imis/models/generated/response_type_ref.rb +15 -0
  400. data/lib/usps/imis/models/generated/restock_price_ref.rb +15 -0
  401. data/lib/usps/imis/models/generated/sales_location_status_ref.rb +15 -0
  402. data/lib/usps/imis/models/generated/salutation_ref.rb +22 -0
  403. data/lib/usps/imis/models/generated/sbuddy_answers.rb +23 -0
  404. data/lib/usps/imis/models/generated/sbuddy_definition.rb +28 -0
  405. data/lib/usps/imis/models/generated/schedule_frequency_ref.rb +14 -0
  406. data/lib/usps/imis/models/generated/segmentation_job_status_ref.rb +15 -0
  407. data/lib/usps/imis/models/generated/sequence_counter.rb +16 -0
  408. data/lib/usps/imis/models/generated/set_district_org_committee_terms.rb +28 -0
  409. data/lib/usps/imis/models/generated/set_squadron_org_committee_terms.rb +28 -0
  410. data/lib/usps/imis/models/generated/ship_price_ref.rb +15 -0
  411. data/lib/usps/imis/models/generated/soa_group.rb +21 -0
  412. data/lib/usps/imis/models/generated/soa_group_member.rb +19 -0
  413. data/lib/usps/imis/models/generated/soa_group_member_detail.rb +28 -0
  414. data/lib/usps/imis/models/generated/social_network_ref.rb +15 -0
  415. data/lib/usps/imis/models/generated/solicitation.rb +40 -0
  416. data/lib/usps/imis/models/generated/solicitation_status_ref.rb +15 -0
  417. data/lib/usps/imis/models/generated/source_code.rb +43 -0
  418. data/lib/usps/imis/models/generated/source_code_status_ref.rb +15 -0
  419. data/lib/usps/imis/models/generated/source_code_type_ref.rb +15 -0
  420. data/lib/usps/imis/models/generated/squad_form_add_fam.rb +23 -0
  421. data/lib/usps/imis/models/generated/squad_form_add_individual.rb +31 -0
  422. data/lib/usps/imis/models/generated/squad_leader_add_individual_contact.rb +28 -0
  423. data/lib/usps/imis/models/generated/squad_note.rb +13 -0
  424. data/lib/usps/imis/models/generated/squad_to_district.rb +18 -0
  425. data/lib/usps/imis/models/generated/squadron_chap_com.rb +16 -0
  426. data/lib/usps/imis/models/generated/squadron_district_lookup.rb +18 -0
  427. data/lib/usps/imis/models/generated/squadrons_and_primary_members.rb +15 -0
  428. data/lib/usps/imis/models/generated/standard_page.rb +15 -0
  429. data/lib/usps/imis/models/generated/state_province_ref.rb +21 -0
  430. data/lib/usps/imis/models/generated/suffix_ref.rb +16 -0
  431. data/lib/usps/imis/models/generated/supplement.rb +27 -0
  432. data/lib/usps/imis/models/generated/supplement_status_ref.rb +15 -0
  433. data/lib/usps/imis/models/generated/supplement_type_ref.rb +15 -0
  434. data/lib/usps/imis/models/generated/system_config_xml.rb +14 -0
  435. data/lib/usps/imis/models/generated/system_param_int.rb +23 -0
  436. data/lib/usps/imis/models/generated/tag_hierarchy.rb +32 -0
  437. data/lib/usps/imis/models/generated/tag_relationship_type.rb +16 -0
  438. data/lib/usps/imis/models/generated/task_item.rb +32 -0
  439. data/lib/usps/imis/models/generated/task_item_status_ref.rb +15 -0
  440. data/lib/usps/imis/models/generated/task_latest_log.rb +15 -0
  441. data/lib/usps/imis/models/generated/task_notify_creator_ref.rb +15 -0
  442. data/lib/usps/imis/models/generated/task_priority.rb +15 -0
  443. data/lib/usps/imis/models/generated/task_status.rb +16 -0
  444. data/lib/usps/imis/models/generated/task_type.rb +15 -0
  445. data/lib/usps/imis/models/generated/tax_authority_level_ref.rb +15 -0
  446. data/lib/usps/imis/models/generated/time_zone_ref.rb +20 -0
  447. data/lib/usps/imis/models/generated/top_level_parent_organization.rb +20 -0
  448. data/lib/usps/imis/models/generated/transaction_detail.rb +56 -0
  449. data/lib/usps/imis/models/generated/transaction_summary_large_batch.rb +44 -0
  450. data/lib/usps/imis/models/generated/uniform_registry.rb +14 -0
  451. data/lib/usps/imis/models/generated/uniform_tag.rb +17 -0
  452. data/lib/usps/imis/models/generated/upgrade_log_detail.rb +19 -0
  453. data/lib/usps/imis/models/generated/url_mapping_type_ref.rb +15 -0
  454. data/lib/usps/imis/models/generated/user_data.rb +33 -0
  455. data/lib/usps/imis/models/generated/user_role.rb +14 -0
  456. data/lib/usps/imis/models/generated/user_token.rb +14 -0
  457. data/lib/usps/imis/models/generated/vertical_alignment_ref.rb +15 -0
  458. data/lib/usps/imis/models/generated/vessels.rb +18 -0
  459. data/lib/usps/imis/models/generated/volunteer_information.rb +22 -0
  460. data/lib/usps/imis/models/generated/warehouse_status_ref.rb +14 -0
  461. data/lib/usps/imis/models/generated/warehouse_type_ref.rb +14 -0
  462. data/lib/usps/imis/models/generated/web_user_control_ref.rb +15 -0
  463. data/lib/usps/imis/models/generated/workflow_queue_item.rb +25 -0
  464. data/lib/usps/imis/models/generated/workflow_queue_item_with_status.rb +25 -0
  465. data/lib/usps/imis/models/generated/workflow_queue_status_ref.rb +15 -0
  466. data/lib/usps/imis/models/generated/workflow_status_ref.rb +15 -0
  467. data/lib/usps/imis/models/party/address.rb +32 -0
  468. data/lib/usps/imis/models/party/alternate_id.rb +16 -0
  469. data/lib/usps/imis/models/party/email.rb +17 -0
  470. data/lib/usps/imis/models/party/phone.rb +17 -0
  471. data/lib/usps/imis/models/party/salutation.rb +18 -0
  472. data/lib/usps/imis/models/party.rb +131 -0
  473. data/lib/usps/imis/models/types/upcase_string.rb +18 -0
  474. data/lib/usps/imis/models/vessel_safety_checks.rb +20 -0
  475. data/lib/usps/imis/models.rb +57 -0
  476. data/lib/usps/imis/party_data.rb +1 -6
  477. data/lib/usps/imis/query.rb +5 -1
  478. data/lib/usps/imis/version.rb +1 -1
  479. data/lib/usps/imis.rb +10 -19
  480. data/spec/support/usps/simple_cov_uncovered_lines_formatter.rb +53 -0
  481. metadata +477 -1
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class UniformTag < Base
7
+ business_object :UniformTag
8
+
9
+ imis_attribute :created_by_user_key, source: :CreatedByUserKey
10
+ imis_attribute :created_on, source: :CreatedOn
11
+ imis_attribute :tag_key, source: :TagKey
12
+ imis_attribute :uniform_key, source: :UniformKey
13
+ imis_attribute :is_primary, source: :IsPrimary, type: :boolean
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class UpgradeLogDetail < Base
7
+ business_object :UpgradeLogDetail
8
+
9
+ imis_attribute :started_on, source: :StartedOn
10
+ imis_attribute :ended_on, source: :EndedOn
11
+ imis_attribute :start_version, source: :StartVersion
12
+ imis_attribute :end_version, source: :EndVersion
13
+ imis_attribute :has_error, source: :HasError, type: :boolean
14
+ imis_attribute :upgrade_log_detail_sequence, source: :UpgradeLogDetailSequence, type: :integer
15
+ imis_attribute :upgrade_log_key, source: :UpgradeLogKey
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class URLMappingTypeRef < Base
7
+ business_object :URLMappingTypeRef
8
+
9
+ imis_attribute :url_mapping_type_code, source: :URLMappingTypeCode, type: :integer
10
+ imis_attribute :url_mapping_type_name, source: :URLMappingTypeName
11
+ imis_attribute :url_mapping_type_ref_desc, source: :URLMappingTypeRefDesc
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class UserData < Base
7
+ business_object :UserData
8
+
9
+ imis_attribute :created_on, source: :CreatedOn
10
+ imis_attribute :effective_date, source: :EffectiveDate
11
+ imis_attribute :email, source: :Email
12
+ imis_attribute :expiration_date, source: :ExpirationDate
13
+ imis_attribute :failed_password_attempt_count, source: :FailedPasswordAttemptCount, type: :integer
14
+ imis_attribute :full_name, source: :FullName
15
+ imis_attribute :is_admin, source: :IsAdmin, type: :boolean
16
+ imis_attribute :is_approved, source: :IsApproved, type: :boolean
17
+ imis_attribute :is_casual_user, source: :IsCasualUser, type: :boolean
18
+ imis_attribute :is_disabled, source: :IsDisabled, type: :boolean
19
+ imis_attribute :is_full_user, source: :IsFullUser, type: :boolean
20
+ imis_attribute :is_locked_out, source: :IsLockedOut, type: :boolean
21
+ imis_attribute :is_staff, source: :IsStaff, type: :boolean
22
+ imis_attribute :last_activity_date, source: :LastActivityDate
23
+ imis_attribute :last_lockout_date, source: :LastLockoutDate
24
+ imis_attribute :last_login_date, source: :LastLoginDate
25
+ imis_attribute :last_password_changed_date, source: :LastPasswordChangedDate
26
+ imis_attribute :username, source: :Username
27
+ imis_attribute :days_until_password_expiration, source: :DaysUntilPasswordExpiration, type: :integer
28
+ imis_attribute :password_expiration_date, source: :PasswordExpirationDate
29
+ imis_attribute :user_key, source: :UserKey
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class UserRole < Base
7
+ business_object :UserRole
8
+
9
+ imis_attribute :role_key, source: :RoleKey
10
+ imis_attribute :user_key, source: :UserKey
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class UserToken < Base
7
+ business_object :UserToken
8
+
9
+ imis_attribute :grantee, source: :Grantee
10
+ imis_attribute :user_key, source: :UserKey
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class VerticalAlignmentRef < Base
7
+ business_object :VerticalAlignmentRef
8
+
9
+ imis_attribute :description, source: :Description
10
+ imis_attribute :code, source: :Code, type: :integer
11
+ imis_attribute :name, source: :Name
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class Vessels < Base
7
+ business_object :ABC_ASC_Vessels, find_by: :ordinal
8
+
9
+ imis_attribute :vessel_home_port, source: :VesselHomePort
10
+ imis_attribute :vessel_mmsi, source: :VesselMMSI, type: :integer
11
+ imis_attribute :vessel_name, source: :VesselName
12
+ imis_attribute :vessel_power, source: :VesselPower
13
+ imis_attribute :vessel_radio, source: :VesselRadio, type: :integer
14
+ imis_attribute :vessel_type, source: :VesselType
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class VolunteerInformation < Base
7
+ business_object :VolunteerInformation
8
+
9
+ imis_attribute :age_group, source: :AgeGroup
10
+ imis_attribute :available_beginning, source: :AvailableBeginning
11
+ imis_attribute :background_check_status, source: :BackgroundCheckStatus
12
+ imis_attribute :completed_orientation, source: :CompletedOrientation, type: :boolean
13
+ imis_attribute :emergency_contact, source: :EmergencyContact
14
+ imis_attribute :emergency_contact_phone, source: :EmergencyContactPhone
15
+ imis_attribute :government_id_number, source: :GovernmentIDNumber
16
+ imis_attribute :is_volunteer, source: :IsVolunteer, type: :boolean
17
+ imis_attribute :background_check_valid_until, source: :BackgroundCheckValidUntil
18
+ imis_attribute :orientation_valid_until, source: :OrientationValidUntil
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class WarehouseStatusRef < Base
7
+ business_object :WarehouseStatusRef
8
+
9
+ imis_attribute :warehouse_status_code, source: :WarehouseStatusCode
10
+ imis_attribute :warehouse_status_desc, source: :WarehouseStatusDesc
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class WarehouseTypeRef < Base
7
+ business_object :WarehouseTypeRef
8
+
9
+ imis_attribute :warehouse_type_code, source: :WarehouseTypeCode, type: :integer
10
+ imis_attribute :warehouse_type_desc, source: :WarehouseTypeDesc
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class WebUserControlRef < Base
7
+ business_object :WebUserControlRef
8
+
9
+ imis_attribute :web_user_control_name, source: :WebUserControlName
10
+ imis_attribute :web_user_control_path, source: :WebUserControlPath
11
+ imis_attribute :parameter_control_path, source: :ParameterControlPath
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class WorkflowQueueItem < Base
7
+ business_object :WorkflowQueueItem
8
+
9
+ imis_attribute :created_by_user_key, source: :CreatedByUserKey
10
+ imis_attribute :created_on, source: :CreatedOn
11
+ imis_attribute :date_executed, source: :DateExecuted
12
+ imis_attribute :description, source: :Description
13
+ imis_attribute :selection_key, source: :SelectionKey
14
+ imis_attribute :stage, source: :Stage, type: :integer
15
+ imis_attribute :work_flow_queue_item_status_code, source: :WorkFlowQueueItemStatusCode, type: :integer
16
+ imis_attribute :task_item_key, source: :TaskItemKey
17
+ imis_attribute :updated_by_user_key, source: :UpdatedByUserKey
18
+ imis_attribute :updated_on, source: :UpdatedOn
19
+ imis_attribute :work_flow_queue_key, source: :WorkFlowQueueKey
20
+ imis_attribute :work_items, source: :WorkItems
21
+ imis_attribute :task_item_access_key, source: :TaskItemAccessKey
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class WorkflowQueueItemWithStatus < Base
7
+ business_object :WorkflowQueueItemWithStatus
8
+
9
+ imis_attribute :status, source: :Status
10
+ imis_attribute :created_by_user_key, source: :CreatedByUserKey
11
+ imis_attribute :created_on, source: :CreatedOn
12
+ imis_attribute :date_executed, source: :DateExecuted
13
+ imis_attribute :description, source: :Description
14
+ imis_attribute :selection_key, source: :SelectionKey
15
+ imis_attribute :stage, source: :Stage, type: :integer
16
+ imis_attribute :task_item_access_key, source: :TaskItemAccessKey
17
+ imis_attribute :task_item_key, source: :TaskItemKey
18
+ imis_attribute :updated_by_user_key, source: :UpdatedByUserKey
19
+ imis_attribute :updated_on, source: :UpdatedOn
20
+ imis_attribute :work_flow_queue_key, source: :WorkFlowQueueKey
21
+ imis_attribute :work_items, source: :WorkItems
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class WorkflowQueueStatusRef < Base
7
+ business_object :WorkflowQueueStatusRef
8
+
9
+ imis_attribute :workflow_queue_status_code, source: :WorkflowQueueStatusCode, type: :integer
10
+ imis_attribute :workflow_queue_status_desc, source: :WorkflowQueueStatusDesc
11
+ imis_attribute :workflow_queue_status_name, source: :WorkflowQueueStatusName
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class WorkflowStatusRef < Base
7
+ business_object :WorkflowStatusRef
8
+
9
+ imis_attribute :workflow_status_code, source: :WorkflowStatusCode, type: :integer
10
+ imis_attribute :workflow_status_desc, source: :WorkflowStatusDesc
11
+ imis_attribute :workflow_status_name, source: :WorkflowStatusName
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class Party
7
+ # Embedded element of +Models::Party#addresses+. Constructed from the
8
+ # +Addresses+ array on a Party payload — not registered as its own
9
+ # Business Object. The +AddressId+ is the +record_id+ for the canonical
10
+ # +CsAddress+ Business Object, exposed via +#cs_address+.
11
+ #
12
+ class Address < Base
13
+ imis_attribute :address_id, source: 'Address.AddressId'
14
+ imis_attribute :purpose, source: 'AddressPurpose'
15
+ imis_attribute :city, source: 'Address.CityName'
16
+ imis_attribute :state, source: 'Address.CountrySubEntityCode'
17
+ imis_attribute :state_name, source: 'Address.CountrySubEntityName'
18
+ imis_attribute :county, source: 'Address.CountyName'
19
+ imis_attribute :postal_code, source: 'Address.PostalCode'
20
+ imis_attribute :country_code, source: 'Address.CountryCode'
21
+ imis_attribute :country_name, source: 'Address.CountryName'
22
+ imis_attribute :full_address, source: 'Address.FullAddress'
23
+ imis_attribute :addressee, source: 'AddresseeText'
24
+ imis_attribute :email, source: 'Email'
25
+ imis_attribute :display_name, source: 'DisplayName'
26
+
27
+ belongs_to :cs_address, foreign_key: :address_id
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class Party
7
+ # Embedded element of +Models::Party#alternate_ids+.
8
+ #
9
+ class AlternateId < Base
10
+ imis_attribute :id, source: 'Id'
11
+ imis_attribute :id_type, source: 'IdType'
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class Party
7
+ # Embedded element of +Models::Party#emails+.
8
+ #
9
+ class Email < Base
10
+ imis_attribute :address, source: 'Address'
11
+ imis_attribute :email_type, source: 'EmailType'
12
+ imis_attribute :is_primary, source: 'IsPrimary', type: :boolean
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class Party
7
+ # Embedded element of +Models::Party#phones+.
8
+ #
9
+ class Phone < Base
10
+ imis_attribute :number, source: 'Number'
11
+ imis_attribute :phone_type, source: 'PhoneType'
12
+ imis_attribute :is_primary, source: 'IsPrimary', type: :boolean
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class Party
7
+ # Embedded element of +Models::Party#salutations+.
8
+ #
9
+ class Salutation < Base
10
+ imis_attribute :salutation_id, source: 'SalutationId'
11
+ imis_attribute :method_id, source: 'SalutationMethod.PartySalutationMethodId'
12
+ imis_attribute :text, source: 'Text'
13
+ imis_attribute :is_overridden, source: 'IsOverridden', type: :boolean
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,131 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class Party < Base
7
+ business_object :Party
8
+
9
+ has_one :individual_demog
10
+ belongs_to :net_contact_data, foreign_key: :uuid
11
+
12
+ has_many :addresses, source: 'Addresses', class_name: 'Party::Address'
13
+ has_many :emails, source: 'Emails', class_name: 'Party::Email'
14
+ has_many :phones, source: 'Phones', class_name: 'Party::Phone'
15
+ has_many :salutations, source: 'Salutations', class_name: 'Party::Salutation'
16
+ has_many :alternate_ids, source: 'AlternateIds', class_name: 'Party::AlternateId'
17
+
18
+ # Personal
19
+ imis_attribute :birth_date, source: 'BirthDate', type: :datetime
20
+ imis_attribute :gender, source: 'Gender.Code'
21
+ imis_attribute :name, source: 'Name'
22
+ imis_attribute :first_name, source: 'PersonName.FirstName'
23
+ imis_attribute :last_name, source: 'PersonName.LastName'
24
+ imis_attribute :nickname, source: 'PersonName.InformalName'
25
+ imis_attribute :full_name, source: 'PersonName.FullName'
26
+ imis_attribute :sort_name, source: 'Sort'
27
+ imis_attribute :financial_entity_code, source: 'FinancialEntityCode'
28
+
29
+ # Family
30
+ imis_attribute :family_name, source: 'PrimaryOrganization.Name'
31
+ imis_attribute :family_id, source: 'PrimaryOrganization.OrganizationPartyId'
32
+
33
+ # Status
34
+ imis_attribute :status, source: 'Status.PartyStatusId'
35
+ imis_attribute :status_name, source: 'Status.Name'
36
+
37
+ # Membership
38
+ imis_attribute :major_key, source: 'AdditionalAttributes.MajorKey'
39
+ alias_attribute :certificate, :major_key
40
+ imis_attribute :member_type, source: 'AdditionalAttributes.CustomerTypeCode'
41
+ imis_attribute :member_type_description, source: 'AdditionalAttributes.CustomerTypeDescription'
42
+ imis_attribute :is_member, source: 'AdditionalAttributes.IsMemberRecord', type: :boolean
43
+ imis_attribute :is_inactive_member, source: 'AdditionalAttributes.IsInactiveMember', type: :boolean
44
+ imis_attribute :allow_advance_renewal, source: 'AdditionalAttributes.AllowAdvanceRenewal', type: :boolean
45
+ imis_attribute :join_date, source: 'AdditionalAttributes.JoinDate', type: :datetime
46
+ imis_attribute :paid_thru, source: 'AdditionalAttributes.PaidThruDate', type: :datetime
47
+ imis_attribute :renewed_thru, source: 'AdditionalAttributes.RenewedThruDate', type: :datetime
48
+ imis_attribute :billing_category, source: 'AdditionalAttributes.BillingCategory'
49
+ imis_attribute :squadron, source: 'AdditionalAttributes.Chapter'
50
+
51
+ # Audit
52
+ imis_attribute :created_at, source: 'UpdateInformation.CreatedOn', type: :datetime
53
+ imis_attribute :created_by, source: 'UpdateInformation.CreatedBy'
54
+ imis_attribute :updated_at, source: 'UpdateInformation.UpdatedOn', type: :datetime
55
+ imis_attribute :updated_by, source: 'UpdateInformation.UpdatedBy'
56
+
57
+ MEMBER_TYPES = %w[AA AC AJ AP LC SC TA TC TJ TP WC XX].freeze
58
+ validates :member_type, inclusion: { in: MEMBER_TYPES }
59
+
60
+ class << self
61
+ # Adds Party-specific +find_by+ shortcuts:
62
+ #
63
+ # - +certificate:+ — two-hop NetContactData → Party (via +Api#imis_id_for+)
64
+ # - +uniform_id:+ — single-hop Party query by +UniformId+ (alias +uuid+)
65
+ #
66
+ # Other condition keys fall through to the generic +Base.find_by+.
67
+ #
68
+ def find_by(certificate: nil, uniform_id: nil, uuid: nil, api: Models.default_api, **rest)
69
+ return find_by_certificate(api, certificate) if certificate
70
+ return find_by_uniform_id(api, uniform_id || uuid) if uniform_id || uuid
71
+
72
+ super(api: api, **rest)
73
+ end
74
+
75
+ private
76
+
77
+ def find_by_certificate(api, certificate)
78
+ api.with(certificate: certificate) { on('Party').get }
79
+ rescue Errors::NotFoundError
80
+ nil # Mirror +ActiveRecord::Base.find_by+ behavior
81
+ end
82
+
83
+ def find_by_uniform_id(api, uniform_id)
84
+ data = api.query('Party', UniformId: uniform_id).one
85
+ data && from_data(data, api: api)
86
+ end
87
+ end
88
+
89
+ private
90
+
91
+ # Party's PUT endpoint expects a +PartyData+-typed envelope, not the
92
+ # +GenericEntityData+ envelope +BlankObject+ produces. Edit the
93
+ # original raw payload in place at the dotted attribute paths and
94
+ # PUT it back unchanged otherwise.
95
+ #
96
+ def perform_update
97
+ payload = updated_party_payload
98
+ api.with(imis_id) { on('Party').put(payload) }
99
+ end
100
+
101
+ def updated_party_payload
102
+ payload = JSON.parse(JSON.dump(data.raw))
103
+ changes.each do |attr, (_old, new_value)|
104
+ *parents, leaf = self.class.imis_attribute_map[attr.to_sym].split('.')
105
+ target = parents.reduce(payload) { |hash, key| hash[key] ||= {} }
106
+ write_party_field(target, leaf, new_value)
107
+ end
108
+ payload
109
+ end
110
+
111
+ # Party's raw payload mixes direct nesting (+PersonName.FirstName+)
112
+ # with property nodes (+AdditionalAttributes+ holds a +$values+ array of
113
+ # +{Name, Value}+ pairs). Detect the bag case so the leaf key writes the
114
+ # right slot.
115
+ #
116
+ def write_party_field(target, key, value)
117
+ if target.is_a?(Hash) && target['$values'].is_a?(Array)
118
+ entry = target['$values'].find { it['Name'] == key }
119
+ raise Errors::MissingPartyFieldError, key if entry.nil?
120
+
121
+ entry['Value'] = Properties.wrap(value)
122
+ else
123
+ target[key] = value
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
129
+ end
130
+
131
+ Dir[File.join(__dir__, 'party', '*.rb')].each { require_relative it }
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Types
6
+ # ActiveModel type that uppercases its String value on cast.
7
+ #
8
+ # Registered globally as +:upcase_string+ — declare with
9
+ # +imis_attribute :certificate, :upcase_string, source: ...+.
10
+ #
11
+ class UpcaseString < ActiveModel::Type::String
12
+ def cast(value) = super&.upcase
13
+ end
14
+ end
15
+ end
16
+ end
17
+
18
+ ActiveModel::Type.register(:upcase_string, Usps::Imis::Types::UpcaseString)
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ module Models
6
+ class VesselSafetyChecks < Base
7
+ business_object :ABC_ASC_Vessel_Safety_Checks, find_by: :ordinal
8
+
9
+ imis_attribute :source_system, source: :Source_System
10
+ imis_attribute :certificate, source: :ABC_ECertificate, type: :upcase_string
11
+ imis_attribute :activity_type, source: :Activity_Type
12
+ imis_attribute :description, source: :Description
13
+ imis_attribute :effective_date, source: :Effective_Date
14
+ imis_attribute :quantity, source: :Quantity, type: :integer
15
+ imis_attribute :thru_date, source: :Thru_Date
16
+ imis_attribute :transaction_date, source: :Transaction_Date
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Usps
4
+ module Imis
5
+ # Namespace and routing registry for ActiveModel-backed iMIS wrappers.
6
+ # Subclass +Models::Base+ and declare +business_object+ to opt a Business
7
+ # Object into Model wrapping; +BusinessObject+ and +Query+ consult this
8
+ # registry to decide whether to wrap parsed responses.
9
+ #
10
+ module Models
11
+ @registry = {}
12
+
13
+ class << self
14
+ # Process-wide default +Api+ used when callers omit +api:+ on
15
+ # +find+ / +find_by+. Memoized lazily; assignment overrides.
16
+ #
17
+ attr_writer :default_api
18
+
19
+ def default_api = @default_api ||= Imis::Api.new
20
+
21
+ # Look up the registered Model class for an iMIS Business Object name.
22
+ # Returns +nil+ if none is registered.
23
+ #
24
+ def for_entity(name) = @registry[name.to_s]
25
+
26
+ # All registered Business Object names, sorted.
27
+ #
28
+ def entity_names = @registry.keys.sort
29
+
30
+ # Register a Model subclass under its +business_object_name+. Called
31
+ # from +Base.business_object+; tests can call +deregister+ for cleanup.
32
+ #
33
+ def register(klass) = @registry[klass.business_object_name] = klass
34
+
35
+ # Remove a Model subclass from the routing registry.
36
+ #
37
+ def deregister(name) = @registry.delete(name.to_s)
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ require_relative 'models/base'
44
+
45
+ # Require all other model files. Hand-written files at the top level go first
46
+ # (some — e.g. party.rb — require their own subdirectory). Auto-generated
47
+ # wrappers under generated/ are loaded next. Finally, files in associations/
48
+ # reopen previously-loaded classes to declare cross-model relationships;
49
+ # they're separated from generated/ so the generator doesn't clobber them.
50
+ paths =
51
+ Dir[File.join(__dir__, 'models', '*.rb')] +
52
+ Dir[File.join(__dir__, 'models', 'generated', '*.rb')] +
53
+ Dir[File.join(__dir__, 'models', 'associations', '*.rb')]
54
+ paths
55
+ .reject { it.end_with?('models/base.rb') }
56
+ .map { it.sub(/\.rb$/, '') }
57
+ .each { require it }
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pp'
4
- require 'stringio'
5
-
6
- require_relative 'base_data'
7
-
8
3
  module Usps
9
4
  module Imis
10
5
  # Convenience wrapper for accessing specific properties within an API data response for the
@@ -79,7 +74,7 @@ module Usps
79
74
  when String, Integer, true, false then next
80
75
  end
81
76
 
82
- if %w[Addresses AlternateIds CommunicationPreferences Emails Salutations].include?(key)
77
+ if %w[Addresses AlternateIds CommunicationPreferences Emails Phones Salutations].include?(key)
83
78
  hash[key] = value.map { format_extracted(it.to_h) }
84
79
  elsif value.all?(String)
85
80
  # Do nothing