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.
- checksums.yaml +4 -4
- data/lib/usps/imis/api.rb +9 -6
- data/lib/usps/imis/base_data.rb +0 -3
- data/lib/usps/imis/blank_object.rb +0 -4
- data/lib/usps/imis/business_object.rb +17 -10
- data/lib/usps/imis/command_line/formatters.rb +5 -3
- data/lib/usps/imis/command_line/interface.rb +2 -0
- data/lib/usps/imis/command_line/options.yml +3 -3
- data/lib/usps/imis/command_line.rb +2 -3
- data/lib/usps/imis/config.rb +12 -6
- data/lib/usps/imis/data.rb +0 -5
- data/lib/usps/imis/dependencies.rb +33 -0
- data/lib/usps/imis/error.rb +10 -17
- data/lib/usps/imis/errors/embedded_model_find_error.rb +20 -0
- data/lib/usps/imis/errors/empty_payload_error.rb +23 -0
- data/lib/usps/imis/errors/missing_party_field_error.rb +24 -0
- data/lib/usps/imis/errors/pattern_matching_error.rb +0 -2
- data/lib/usps/imis/logger.rb +0 -3
- data/lib/usps/imis/models/associations/individual_demog.rb +11 -0
- data/lib/usps/imis/models/base/finders.rb +80 -0
- data/lib/usps/imis/models/base/persistence.rb +110 -0
- data/lib/usps/imis/models/base.rb +279 -0
- data/lib/usps/imis/models/education.rb +25 -0
- data/lib/usps/imis/models/generated/abc_cs_contact.rb +91 -0
- data/lib/usps/imis/models/generated/abc_fed990.rb +17 -0
- data/lib/usps/imis/models/generated/abc_ps_volunteer_skills.rb +16 -0
- data/lib/usps/imis/models/generated/access_area.rb +22 -0
- data/lib/usps/imis/models/generated/access_item.rb +18 -0
- data/lib/usps/imis/models/generated/access_main.rb +18 -0
- data/lib/usps/imis/models/generated/action_plan.rb +21 -0
- data/lib/usps/imis/models/generated/activity.rb +57 -0
- data/lib/usps/imis/models/generated/activity_ldao.rb +58 -0
- data/lib/usps/imis/models/generated/activity_ldcdr.rb +57 -0
- data/lib/usps/imis/models/generated/activity_ldxo.rb +57 -0
- data/lib/usps/imis/models/generated/add_family.rb +13 -0
- data/lib/usps/imis/models/generated/advanced_email_twelve_months_delivered_by_date.rb +16 -0
- data/lib/usps/imis/models/generated/advanced_email_twelve_months_totals.rb +16 -0
- data/lib/usps/imis/models/generated/aec_chapter_events.rb +28 -0
- data/lib/usps/imis/models/generated/aec_chapter_link_all_events.rb +18 -0
- data/lib/usps/imis/models/generated/aec_district_administrators.rb +19 -0
- data/lib/usps/imis/models/generated/aec_district_squadron_admins.rb +14 -0
- data/lib/usps/imis/models/generated/aec_district_squadron_events.rb +15 -0
- data/lib/usps/imis/models/generated/aec_si_r_charge_fee_percentages.rb +14 -0
- data/lib/usps/imis/models/generated/aec_si_r_charge_params.rb +16 -0
- data/lib/usps/imis/models/generated/appeal.rb +39 -0
- data/lib/usps/imis/models/generated/appeal_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/asc_ps_abc_squadron_price.rb +25 -0
- data/lib/usps/imis/models/generated/atom_panel_purpose.rb +15 -0
- data/lib/usps/imis/models/generated/auto_pay_instruction_detail.rb +22 -0
- data/lib/usps/imis/models/generated/auto_pay_invoices.rb +24 -0
- data/lib/usps/imis/models/generated/auto_pay_invoices_dues.rb +29 -0
- data/lib/usps/imis/models/generated/auto_pay_member_instruction_detail.rb +22 -0
- data/lib/usps/imis/models/generated/auto_pay_membership_invoices_base.rb +28 -0
- data/lib/usps/imis/models/generated/bad_address_reason_ref.rb +18 -0
- data/lib/usps/imis/models/generated/batch_line_status_ref.rb +14 -0
- data/lib/usps/imis/models/generated/billing_cycles.rb +50 -0
- data/lib/usps/imis/models/generated/billing_fees.rb +61 -0
- data/lib/usps/imis/models/generated/billing_fees_by_bill_to_party.rb +20 -0
- data/lib/usps/imis/models/generated/billing_issue_notification_by_bill_run.rb +20 -0
- data/lib/usps/imis/models/generated/billing_issue_notification_by_party.rb +30 -0
- data/lib/usps/imis/models/generated/billing_log_by_bill_cycle_data.rb +28 -0
- data/lib/usps/imis/models/generated/billing_log_by_party.rb +29 -0
- data/lib/usps/imis/models/generated/billing_product.rb +30 -0
- data/lib/usps/imis/models/generated/bo_district_dues.rb +26 -0
- data/lib/usps/imis/models/generated/bo_dues_fees.rb +21 -0
- data/lib/usps/imis/models/generated/bo_dues_pricing.rb +18 -0
- data/lib/usps/imis/models/generated/bo_national_dues.rb +84 -0
- data/lib/usps/imis/models/generated/bo_no_natl_dist_dues.rb +135 -0
- data/lib/usps/imis/models/generated/bo_squadron_dues.rb +26 -0
- data/lib/usps/imis/models/generated/bo_total.rb +17 -0
- data/lib/usps/imis/models/generated/campaign.rb +42 -0
- data/lib/usps/imis/models/generated/campaign_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/campaign_type_ref.rb +15 -0
- data/lib/usps/imis/models/generated/certification_module_status.rb +14 -0
- data/lib/usps/imis/models/generated/change_log_report.rb +25 -0
- data/lib/usps/imis/models/generated/change_property.rb +18 -0
- data/lib/usps/imis/models/generated/chapt_subscriptions.rb +14 -0
- data/lib/usps/imis/models/generated/chapter.rb +15 -0
- data/lib/usps/imis/models/generated/chapter_events.rb +30 -0
- data/lib/usps/imis/models/generated/commerce_product.rb +47 -0
- data/lib/usps/imis/models/generated/commission_rate_type_ref.rb +14 -0
- data/lib/usps/imis/models/generated/committee.rb +16 -0
- data/lib/usps/imis/models/generated/committee_districts_org_id.rb +16 -0
- data/lib/usps/imis/models/generated/committee_i_ds_temp.rb +13 -0
- data/lib/usps/imis/models/generated/committee_squadrons_org_id.rb +16 -0
- data/lib/usps/imis/models/generated/communication_log_summary_for_charts.rb +15 -0
- data/lib/usps/imis/models/generated/communication_message_type_ref.rb +14 -0
- data/lib/usps/imis/models/generated/communication_reason_ref.rb +22 -0
- data/lib/usps/imis/models/generated/community_items.rb +25 -0
- data/lib/usps/imis/models/generated/community_subscriptions.rb +25 -0
- data/lib/usps/imis/models/generated/comparison_ref.rb +14 -0
- data/lib/usps/imis/models/generated/component_registry.rb +28 -0
- data/lib/usps/imis/models/generated/contact.rb +32 -0
- data/lib/usps/imis/models/generated/contact_birthday_info.rb +20 -0
- data/lib/usps/imis/models/generated/contact_communication_reason_preferences.rb +25 -0
- data/lib/usps/imis/models/generated/contact_detail_report.rb +49 -0
- data/lib/usps/imis/models/generated/contact_offering_ref.rb +14 -0
- data/lib/usps/imis/models/generated/contact_profile_image.rb +22 -0
- data/lib/usps/imis/models/generated/contact_report.rb +23 -0
- data/lib/usps/imis/models/generated/contact_salutation.rb +18 -0
- data/lib/usps/imis/models/generated/contact_skill_ref.rb +14 -0
- data/lib/usps/imis/models/generated/contact_social_network.rb +19 -0
- data/lib/usps/imis/models/generated/contact_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/contact_type_ref.rb +16 -0
- data/lib/usps/imis/models/generated/content_filter.rb +18 -0
- data/lib/usps/imis/models/generated/content_manager_authority_group.rb +14 -0
- data/lib/usps/imis/models/generated/cost_method_ref.rb +15 -0
- data/lib/usps/imis/models/generated/country_ref.rb +27 -0
- data/lib/usps/imis/models/generated/credit_type_ref.rb +14 -0
- data/lib/usps/imis/models/generated/cs_activity.rb +50 -0
- data/lib/usps/imis/models/generated/cs_activity_basic.rb +51 -0
- data/lib/usps/imis/models/generated/cs_activity_forms.rb +38 -0
- data/lib/usps/imis/models/generated/cs_activity_types.rb +16 -0
- data/lib/usps/imis/models/generated/cs_address.rb +40 -0
- data/lib/usps/imis/models/generated/cs_address_formats.rb +15 -0
- data/lib/usps/imis/models/generated/cs_appeal.rb +23 -0
- data/lib/usps/imis/models/generated/cs_calls.rb +20 -0
- data/lib/usps/imis/models/generated/cs_campaign.rb +20 -0
- data/lib/usps/imis/models/generated/cs_committee.rb +23 -0
- data/lib/usps/imis/models/generated/cs_committee_code.rb +20 -0
- data/lib/usps/imis/models/generated/cs_committee_member.rb +38 -0
- data/lib/usps/imis/models/generated/cs_committee_member_group.rb +15 -0
- data/lib/usps/imis/models/generated/cs_committee_position.rb +16 -0
- data/lib/usps/imis/models/generated/cs_contact.rb +91 -0
- data/lib/usps/imis/models/generated/cs_contact_basic.rb +79 -0
- data/lib/usps/imis/models/generated/cs_country_names.rb +19 -0
- data/lib/usps/imis/models/generated/cs_donations.rb +31 -0
- data/lib/usps/imis/models/generated/cs_donations_detail.rb +33 -0
- data/lib/usps/imis/models/generated/cs_donor_data.rb +21 -0
- data/lib/usps/imis/models/generated/cs_dues_history.rb +22 -0
- data/lib/usps/imis/models/generated/cs_event.rb +92 -0
- data/lib/usps/imis/models/generated/cs_event_history.rb +20 -0
- data/lib/usps/imis/models/generated/cs_exchange_rate.rb +14 -0
- data/lib/usps/imis/models/generated/cs_freight_dollar.rb +14 -0
- data/lib/usps/imis/models/generated/cs_function.rb +57 -0
- data/lib/usps/imis/models/generated/cs_function_fees.rb +20 -0
- data/lib/usps/imis/models/generated/cs_gen_tables_union.rb +15 -0
- data/lib/usps/imis/models/generated/cs_general_lookup_tables.rb +17 -0
- data/lib/usps/imis/models/generated/cs_inventory.rb +37 -0
- data/lib/usps/imis/models/generated/cs_invoice.rb +51 -0
- data/lib/usps/imis/models/generated/cs_iso_currency_codes.rb +14 -0
- data/lib/usps/imis/models/generated/cs_member_type.rb +18 -0
- data/lib/usps/imis/models/generated/cs_name_fin.rb +27 -0
- data/lib/usps/imis/models/generated/cs_name_fr.rb +27 -0
- data/lib/usps/imis/models/generated/cs_name_log.rb +17 -0
- data/lib/usps/imis/models/generated/cs_name_note.rb +18 -0
- data/lib/usps/imis/models/generated/cs_name_picture.rb +19 -0
- data/lib/usps/imis/models/generated/cs_name_user.rb +18 -0
- data/lib/usps/imis/models/generated/cs_order_history.rb +22 -0
- data/lib/usps/imis/models/generated/cs_order_lines.rb +54 -0
- data/lib/usps/imis/models/generated/cs_order_type.rb +15 -0
- data/lib/usps/imis/models/generated/cs_orders.rb +85 -0
- data/lib/usps/imis/models/generated/cs_org_control.rb +47 -0
- data/lib/usps/imis/models/generated/cs_product.rb +49 -0
- data/lib/usps/imis/models/generated/cs_product_category.rb +18 -0
- data/lib/usps/imis/models/generated/cs_product_fundraising.rb +22 -0
- data/lib/usps/imis/models/generated/cs_product_location.rb +14 -0
- data/lib/usps/imis/models/generated/cs_product_type.rb +14 -0
- data/lib/usps/imis/models/generated/cs_reg_functions.rb +36 -0
- data/lib/usps/imis/models/generated/cs_registrant_classes.rb +15 -0
- data/lib/usps/imis/models/generated/cs_registration.rb +39 -0
- data/lib/usps/imis/models/generated/cs_relationship.rb +25 -0
- data/lib/usps/imis/models/generated/cs_relationship_types.rb +17 -0
- data/lib/usps/imis/models/generated/cs_salutations.rb +14 -0
- data/lib/usps/imis/models/generated/cs_staff_user.rb +34 -0
- data/lib/usps/imis/models/generated/cs_state_province_codes.rb +15 -0
- data/lib/usps/imis/models/generated/cs_subscriptions.rb +58 -0
- data/lib/usps/imis/models/generated/cs_subscriptions_chapters.rb +15 -0
- data/lib/usps/imis/models/generated/cs_system_params.rb +15 -0
- data/lib/usps/imis/models/generated/cs_terms.rb +17 -0
- data/lib/usps/imis/models/generated/cs_trans_notify.rb +16 -0
- data/lib/usps/imis/models/generated/cs_web_security_group.rb +14 -0
- data/lib/usps/imis/models/generated/cs_web_user.rb +18 -0
- data/lib/usps/imis/models/generated/culture_ref.rb +14 -0
- data/lib/usps/imis/models/generated/customer_experience_status.rb +14 -0
- data/lib/usps/imis/models/generated/data_type.rb +16 -0
- data/lib/usps/imis/models/generated/data_vault_attempt_settlement_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/data_vault_attempt_status_ref.rb +14 -0
- data/lib/usps/imis/models/generated/data_vault_attempt_summary.rb +39 -0
- data/lib/usps/imis/models/generated/data_vault_batch_summary.rb +21 -0
- data/lib/usps/imis/models/generated/data_vault_log_attempt.rb +25 -0
- data/lib/usps/imis/models/generated/data_vault_status_ref.rb +14 -0
- data/lib/usps/imis/models/generated/data_vault_status_summary.rb +15 -0
- data/lib/usps/imis/models/generated/data_vault_status_summary_detail.rb +19 -0
- data/lib/usps/imis/models/generated/date_dimension.rb +24 -0
- data/lib/usps/imis/models/generated/day_of_the_week_ref.rb +14 -0
- data/lib/usps/imis/models/generated/discountable_item.rb +20 -0
- data/lib/usps/imis/models/generated/discountable_item_class.rb +15 -0
- data/lib/usps/imis/models/generated/distinct_user_defined_multi_select_properties.rb +17 -0
- data/lib/usps/imis/models/generated/districts_and_primary_members.rb +15 -0
- data/lib/usps/imis/models/generated/document_path.rb +14 -0
- data/lib/usps/imis/models/generated/document_storage.rb +23 -0
- data/lib/usps/imis/models/generated/document_system_size_info.rb +36 -0
- data/lib/usps/imis/models/generated/document_system_size_info_by_type.rb +37 -0
- data/lib/usps/imis/models/generated/document_system_status_count_info.rb +14 -0
- data/lib/usps/imis/models/generated/document_system_status_size_info.rb +15 -0
- data/lib/usps/imis/models/generated/document_system_type_count_info.rb +14 -0
- data/lib/usps/imis/models/generated/document_system_type_size_info.rb +15 -0
- data/lib/usps/imis/models/generated/document_type.rb +34 -0
- data/lib/usps/imis/models/generated/document_type_status_path_info.rb +28 -0
- data/lib/usps/imis/models/generated/donation.rb +31 -0
- data/lib/usps/imis/models/generated/donation_performance.rb +19 -0
- data/lib/usps/imis/models/generated/donation_summary.rb +36 -0
- data/lib/usps/imis/models/generated/dynamic_group.rb +18 -0
- data/lib/usps/imis/models/generated/educ_abc.rb +21 -0
- data/lib/usps/imis/models/generated/educ_boc.rb +21 -0
- data/lib/usps/imis/models/generated/educ_crs.rb +21 -0
- data/lib/usps/imis/models/generated/educ_id.rb +21 -0
- data/lib/usps/imis/models/generated/educ_ot.rb +21 -0
- data/lib/usps/imis/models/generated/educ_sem.rb +21 -0
- data/lib/usps/imis/models/generated/education_in_progress.rb +16 -0
- data/lib/usps/imis/models/generated/education_level_ref.rb +15 -0
- data/lib/usps/imis/models/generated/effective_contact_communication_preferences_data.rb +23 -0
- data/lib/usps/imis/models/generated/effective_fundraising_preferences_data.rb +18 -0
- data/lib/usps/imis/models/generated/engagement_category.rb +23 -0
- data/lib/usps/imis/models/generated/engagement_measure.rb +24 -0
- data/lib/usps/imis/models/generated/engagement_score_current_data.rb +21 -0
- data/lib/usps/imis/models/generated/engagement_score_formula.rb +19 -0
- data/lib/usps/imis/models/generated/engagement_score_monthly_data.rb +22 -0
- data/lib/usps/imis/models/generated/engagement_score_result.rb +21 -0
- data/lib/usps/imis/models/generated/engagement_score_yearly_data.rb +21 -0
- data/lib/usps/imis/models/generated/event_category_list.rb +16 -0
- data/lib/usps/imis/models/generated/event_function_resource_data.rb +22 -0
- data/lib/usps/imis/models/generated/event_question.rb +24 -0
- data/lib/usps/imis/models/generated/event_question_response.rb +25 -0
- data/lib/usps/imis/models/generated/event_registrants_report.rb +45 -0
- data/lib/usps/imis/models/generated/execution_mode_ref.rb +15 -0
- data/lib/usps/imis/models/generated/experience_definition_status.rb +14 -0
- data/lib/usps/imis/models/generated/expired_member_update_detail_log.rb +19 -0
- data/lib/usps/imis/models/generated/family_add_contact.rb +91 -0
- data/lib/usps/imis/models/generated/family_member_count.rb +37 -0
- data/lib/usps/imis/models/generated/file_type_ref.rb +16 -0
- data/lib/usps/imis/models/generated/first_notify_contact_per_gift.rb +14 -0
- data/lib/usps/imis/models/generated/first_payment_date_type_ref.rb +15 -0
- data/lib/usps/imis/models/generated/form_definition_field_data.rb +19 -0
- data/lib/usps/imis/models/generated/form_field_response_data.rb +22 -0
- data/lib/usps/imis/models/generated/fundraising_preference_ref.rb +15 -0
- data/lib/usps/imis/models/generated/fundraising_profile_donor_data.rb +18 -0
- data/lib/usps/imis/models/generated/gateway_result_ref.rb +14 -0
- data/lib/usps/imis/models/generated/gateway_transaction_data.rb +35 -0
- data/lib/usps/imis/models/generated/gateway_transaction_ref.rb +15 -0
- data/lib/usps/imis/models/generated/gateway_type_ref.rb +17 -0
- data/lib/usps/imis/models/generated/gift.rb +41 -0
- data/lib/usps/imis/models/generated/gift_adjustment_log_summary.rb +25 -0
- data/lib/usps/imis/models/generated/gift_aid_claim_status_ref.rb +14 -0
- data/lib/usps/imis/models/generated/gift_array.rb +16 -0
- data/lib/usps/imis/models/generated/gift_detail.rb +29 -0
- data/lib/usps/imis/models/generated/gift_history.rb +45 -0
- data/lib/usps/imis/models/generated/gift_history_summary.rb +33 -0
- data/lib/usps/imis/models/generated/gift_history_summary_basic.rb +33 -0
- data/lib/usps/imis/models/generated/gift_summary.rb +16 -0
- data/lib/usps/imis/models/generated/gift_totals_by_date.rb +15 -0
- data/lib/usps/imis/models/generated/gift_transaction.rb +43 -0
- data/lib/usps/imis/models/generated/gifts_received.rb +32 -0
- data/lib/usps/imis/models/generated/gifts_received_for_receipting.rb +44 -0
- data/lib/usps/imis/models/generated/gifts_received_summary.rb +33 -0
- data/lib/usps/imis/models/generated/gifts_with_void_and_replaced_receipts.rb +43 -0
- data/lib/usps/imis/models/generated/gl_batch_transaction_data.rb +30 -0
- data/lib/usps/imis/models/generated/gl_daily_transaction_data.rb +30 -0
- data/lib/usps/imis/models/generated/gl_detail_due_to_due_from_transaction_data.rb +17 -0
- data/lib/usps/imis/models/generated/gl_detail_transaction_data.rb +36 -0
- data/lib/usps/imis/models/generated/gl_detail_transaction_data_full.rb +36 -0
- data/lib/usps/imis/models/generated/gl_due_to_due_from_transaction_data.rb +18 -0
- data/lib/usps/imis/models/generated/gl_entry_type_ref.rb +14 -0
- data/lib/usps/imis/models/generated/gl_export_format_type_ref.rb +14 -0
- data/lib/usps/imis/models/generated/gl_export_log_detail.rb +15 -0
- data/lib/usps/imis/models/generated/gl_export_log_summary.rb +26 -0
- data/lib/usps/imis/models/generated/gl_export_multiple.rb +15 -0
- data/lib/usps/imis/models/generated/gl_export_summary_level_ref.rb +15 -0
- data/lib/usps/imis/models/generated/gl_monthly_due_to_due_from_transaction_data.rb +18 -0
- data/lib/usps/imis/models/generated/gl_monthly_transaction_data.rb +29 -0
- data/lib/usps/imis/models/generated/gl_source_item_type_ref.rb +14 -0
- data/lib/usps/imis/models/generated/gl_transaction_data.rb +41 -0
- data/lib/usps/imis/models/generated/grade.rb +14 -0
- data/lib/usps/imis/models/generated/group_info.rb +28 -0
- data/lib/usps/imis/models/generated/group_member_administrator_type_ref.rb +15 -0
- data/lib/usps/imis/models/generated/group_member_detail.rb +29 -0
- data/lib/usps/imis/models/generated/group_member_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/group_perspective.rb +16 -0
- data/lib/usps/imis/models/generated/group_price_sheet.rb +17 -0
- data/lib/usps/imis/models/generated/group_role_ref.rb +17 -0
- data/lib/usps/imis/models/generated/group_status_ref.rb +16 -0
- data/lib/usps/imis/models/generated/group_type_member_status.rb +17 -0
- data/lib/usps/imis/models/generated/group_type_ref.rb +33 -0
- data/lib/usps/imis/models/generated/group_type_role.rb +22 -0
- data/lib/usps/imis/models/generated/handling_price_ref.rb +15 -0
- data/lib/usps/imis/models/generated/hierarchy.rb +21 -0
- data/lib/usps/imis/models/generated/hierarchy_root.rb +22 -0
- data/lib/usps/imis/models/generated/i_series_data.rb +15 -0
- data/lib/usps/imis/models/generated/individual_demog.rb +34 -0
- data/lib/usps/imis/models/generated/institute_type_code_ref.rb +16 -0
- data/lib/usps/imis/models/generated/interaction_log.rb +35 -0
- data/lib/usps/imis/models/generated/interaction_log_event.rb +24 -0
- data/lib/usps/imis/models/generated/interaction_log_event_summary.rb +30 -0
- data/lib/usps/imis/models/generated/interval_type_ref.rb +15 -0
- data/lib/usps/imis/models/generated/invoice_line_data.rb +39 -0
- data/lib/usps/imis/models/generated/invoice_lines.rb +42 -0
- data/lib/usps/imis/models/generated/invoice_number.rb +16 -0
- data/lib/usps/imis/models/generated/invoice_payment_summary.rb +14 -0
- data/lib/usps/imis/models/generated/invoice_purpose.rb +15 -0
- data/lib/usps/imis/models/generated/invoice_source_system_ref.rb +13 -0
- data/lib/usps/imis/models/generated/invoice_type_ref.rb +14 -0
- data/lib/usps/imis/models/generated/journal_entry_type_ref.rb +14 -0
- data/lib/usps/imis/models/generated/license_ref.rb +15 -0
- data/lib/usps/imis/models/generated/line_pricing_ref.rb +15 -0
- data/lib/usps/imis/models/generated/list_entity.rb +14 -0
- data/lib/usps/imis/models/generated/locale_ref.rb +14 -0
- data/lib/usps/imis/models/generated/location_status.rb +14 -0
- data/lib/usps/imis/models/generated/mail_code_ref.rb +16 -0
- data/lib/usps/imis/models/generated/matching_gift_plan_type_ref.rb +15 -0
- data/lib/usps/imis/models/generated/matching_mode_ref.rb +15 -0
- data/lib/usps/imis/models/generated/matching_period_ref.rb +15 -0
- data/lib/usps/imis/models/generated/memorial_tribute_type_ref.rb +14 -0
- data/lib/usps/imis/models/generated/method_set_type_ref.rb +14 -0
- data/lib/usps/imis/models/generated/month_ref.rb +18 -0
- data/lib/usps/imis/models/generated/name_prefixes.rb +15 -0
- data/lib/usps/imis/models/generated/name_suffixes.rb +13 -0
- data/lib/usps/imis/models/generated/navigation_pane.rb +18 -0
- data/lib/usps/imis/models/generated/net_contact.rb +99 -0
- data/lib/usps/imis/models/generated/net_contact_basic.rb +88 -0
- data/lib/usps/imis/models/generated/net_contact_data.rb +88 -0
- data/lib/usps/imis/models/generated/note_purpose_ref.rb +14 -0
- data/lib/usps/imis/models/generated/offering_status.rb +14 -0
- data/lib/usps/imis/models/generated/opportunity_class_ref.rb +15 -0
- data/lib/usps/imis/models/generated/opportunity_default_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/opportunity_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/opportunity_task_user.rb +20 -0
- data/lib/usps/imis/models/generated/opportunity_type.rb +29 -0
- data/lib/usps/imis/models/generated/order_category.rb +14 -0
- data/lib/usps/imis/models/generated/order_fulfillment_status_ref.rb +14 -0
- data/lib/usps/imis/models/generated/order_invoice.rb +14 -0
- data/lib/usps/imis/models/generated/order_state_ref.rb +14 -0
- data/lib/usps/imis/models/generated/order_type_detail.rb +17 -0
- data/lib/usps/imis/models/generated/org_demog.rb +28 -0
- data/lib/usps/imis/models/generated/organization_demo.rb +18 -0
- data/lib/usps/imis/models/generated/organization_hierarchy.rb +19 -0
- data/lib/usps/imis/models/generated/package.rb +25 -0
- data/lib/usps/imis/models/generated/package_item.rb +19 -0
- data/lib/usps/imis/models/generated/package_status_ref.rb +14 -0
- data/lib/usps/imis/models/generated/payment_application.rb +31 -0
- data/lib/usps/imis/models/generated/payment_application_detail.rb +35 -0
- data/lib/usps/imis/models/generated/payment_application_restriction_ref.rb +14 -0
- data/lib/usps/imis/models/generated/payment_application_summary.rb +18 -0
- data/lib/usps/imis/models/generated/payment_application_type.rb +14 -0
- data/lib/usps/imis/models/generated/payment_category_ref.rb +14 -0
- data/lib/usps/imis/models/generated/payment_detail_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/payment_method_data.rb +20 -0
- data/lib/usps/imis/models/generated/payment_reconciliation.rb +26 -0
- data/lib/usps/imis/models/generated/payment_status_ref.rb +14 -0
- data/lib/usps/imis/models/generated/percentile_ranking.rb +20 -0
- data/lib/usps/imis/models/generated/picture_purpose_ref.rb +14 -0
- data/lib/usps/imis/models/generated/pin_update.rb +13 -0
- data/lib/usps/imis/models/generated/pipeline.rb +15 -0
- data/lib/usps/imis/models/generated/pipeline_stage.rb +17 -0
- data/lib/usps/imis/models/generated/postal_code_ref.rb +26 -0
- data/lib/usps/imis/models/generated/prefix_ref.rb +17 -0
- data/lib/usps/imis/models/generated/price_basis_ref.rb +15 -0
- data/lib/usps/imis/models/generated/pricing_type_ref.rb +15 -0
- data/lib/usps/imis/models/generated/primary_fam_members.rb +14 -0
- data/lib/usps/imis/models/generated/process_type_default_owner_all_users.rb +15 -0
- data/lib/usps/imis/models/generated/product_price_sheet.rb +20 -0
- data/lib/usps/imis/models/generated/product_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/product_trans.rb +31 -0
- data/lib/usps/imis/models/generated/product_trans_detail.rb +17 -0
- data/lib/usps/imis/models/generated/profile_documents.rb +15 -0
- data/lib/usps/imis/models/generated/profile_page.rb +36 -0
- data/lib/usps/imis/models/generated/program_group_status.rb +14 -0
- data/lib/usps/imis/models/generated/program_status.rb +14 -0
- data/lib/usps/imis/models/generated/promotion_rule_ref.rb +15 -0
- data/lib/usps/imis/models/generated/property_definition.rb +33 -0
- data/lib/usps/imis/models/generated/prospect.rb +38 -0
- data/lib/usps/imis/models/generated/publish_priority.rb +14 -0
- data/lib/usps/imis/models/generated/publish_request.rb +18 -0
- data/lib/usps/imis/models/generated/publish_request_detail.rb +22 -0
- data/lib/usps/imis/models/generated/publish_request_status.rb +15 -0
- data/lib/usps/imis/models/generated/publish_server.rb +29 -0
- data/lib/usps/imis/models/generated/quality_ref.rb +15 -0
- data/lib/usps/imis/models/generated/rank.rb +21 -0
- data/lib/usps/imis/models/generated/receipt_report.rb +24 -0
- data/lib/usps/imis/models/generated/receipt_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/recurring_donation_expected_payment_set.rb +19 -0
- data/lib/usps/imis/models/generated/recurring_donation_expected_payment_set_list.rb +20 -0
- data/lib/usps/imis/models/generated/recurring_donation_expected_payment_set_status.rb +15 -0
- data/lib/usps/imis/models/generated/recurring_donation_expected_payment_status.rb +15 -0
- data/lib/usps/imis/models/generated/recurring_donation_frequency_ref.rb +15 -0
- data/lib/usps/imis/models/generated/reference_date.rb +13 -0
- data/lib/usps/imis/models/generated/registered_component.rb +27 -0
- data/lib/usps/imis/models/generated/registration_status.rb +14 -0
- data/lib/usps/imis/models/generated/relationship.rb +18 -0
- data/lib/usps/imis/models/generated/relationship_category.rb +17 -0
- data/lib/usps/imis/models/generated/relationship_type_category.rb +17 -0
- data/lib/usps/imis/models/generated/relationship_type_ref.rb +16 -0
- data/lib/usps/imis/models/generated/relationship_update.rb +16 -0
- data/lib/usps/imis/models/generated/relationship_update_contact_panel.rb +16 -0
- data/lib/usps/imis/models/generated/remove_district_org_committee_terms.rb +28 -0
- data/lib/usps/imis/models/generated/remove_squadron_org_committee_terms.rb +28 -0
- data/lib/usps/imis/models/generated/reporting_group_user.rb +14 -0
- data/lib/usps/imis/models/generated/response_media_ref.rb +14 -0
- data/lib/usps/imis/models/generated/response_type_ref.rb +15 -0
- data/lib/usps/imis/models/generated/restock_price_ref.rb +15 -0
- data/lib/usps/imis/models/generated/sales_location_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/salutation_ref.rb +22 -0
- data/lib/usps/imis/models/generated/sbuddy_answers.rb +23 -0
- data/lib/usps/imis/models/generated/sbuddy_definition.rb +28 -0
- data/lib/usps/imis/models/generated/schedule_frequency_ref.rb +14 -0
- data/lib/usps/imis/models/generated/segmentation_job_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/sequence_counter.rb +16 -0
- data/lib/usps/imis/models/generated/set_district_org_committee_terms.rb +28 -0
- data/lib/usps/imis/models/generated/set_squadron_org_committee_terms.rb +28 -0
- data/lib/usps/imis/models/generated/ship_price_ref.rb +15 -0
- data/lib/usps/imis/models/generated/soa_group.rb +21 -0
- data/lib/usps/imis/models/generated/soa_group_member.rb +19 -0
- data/lib/usps/imis/models/generated/soa_group_member_detail.rb +28 -0
- data/lib/usps/imis/models/generated/social_network_ref.rb +15 -0
- data/lib/usps/imis/models/generated/solicitation.rb +40 -0
- data/lib/usps/imis/models/generated/solicitation_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/source_code.rb +43 -0
- data/lib/usps/imis/models/generated/source_code_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/source_code_type_ref.rb +15 -0
- data/lib/usps/imis/models/generated/squad_form_add_fam.rb +23 -0
- data/lib/usps/imis/models/generated/squad_form_add_individual.rb +31 -0
- data/lib/usps/imis/models/generated/squad_leader_add_individual_contact.rb +28 -0
- data/lib/usps/imis/models/generated/squad_note.rb +13 -0
- data/lib/usps/imis/models/generated/squad_to_district.rb +18 -0
- data/lib/usps/imis/models/generated/squadron_chap_com.rb +16 -0
- data/lib/usps/imis/models/generated/squadron_district_lookup.rb +18 -0
- data/lib/usps/imis/models/generated/squadrons_and_primary_members.rb +15 -0
- data/lib/usps/imis/models/generated/standard_page.rb +15 -0
- data/lib/usps/imis/models/generated/state_province_ref.rb +21 -0
- data/lib/usps/imis/models/generated/suffix_ref.rb +16 -0
- data/lib/usps/imis/models/generated/supplement.rb +27 -0
- data/lib/usps/imis/models/generated/supplement_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/supplement_type_ref.rb +15 -0
- data/lib/usps/imis/models/generated/system_config_xml.rb +14 -0
- data/lib/usps/imis/models/generated/system_param_int.rb +23 -0
- data/lib/usps/imis/models/generated/tag_hierarchy.rb +32 -0
- data/lib/usps/imis/models/generated/tag_relationship_type.rb +16 -0
- data/lib/usps/imis/models/generated/task_item.rb +32 -0
- data/lib/usps/imis/models/generated/task_item_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/task_latest_log.rb +15 -0
- data/lib/usps/imis/models/generated/task_notify_creator_ref.rb +15 -0
- data/lib/usps/imis/models/generated/task_priority.rb +15 -0
- data/lib/usps/imis/models/generated/task_status.rb +16 -0
- data/lib/usps/imis/models/generated/task_type.rb +15 -0
- data/lib/usps/imis/models/generated/tax_authority_level_ref.rb +15 -0
- data/lib/usps/imis/models/generated/time_zone_ref.rb +20 -0
- data/lib/usps/imis/models/generated/top_level_parent_organization.rb +20 -0
- data/lib/usps/imis/models/generated/transaction_detail.rb +56 -0
- data/lib/usps/imis/models/generated/transaction_summary_large_batch.rb +44 -0
- data/lib/usps/imis/models/generated/uniform_registry.rb +14 -0
- data/lib/usps/imis/models/generated/uniform_tag.rb +17 -0
- data/lib/usps/imis/models/generated/upgrade_log_detail.rb +19 -0
- data/lib/usps/imis/models/generated/url_mapping_type_ref.rb +15 -0
- data/lib/usps/imis/models/generated/user_data.rb +33 -0
- data/lib/usps/imis/models/generated/user_role.rb +14 -0
- data/lib/usps/imis/models/generated/user_token.rb +14 -0
- data/lib/usps/imis/models/generated/vertical_alignment_ref.rb +15 -0
- data/lib/usps/imis/models/generated/vessels.rb +18 -0
- data/lib/usps/imis/models/generated/volunteer_information.rb +22 -0
- data/lib/usps/imis/models/generated/warehouse_status_ref.rb +14 -0
- data/lib/usps/imis/models/generated/warehouse_type_ref.rb +14 -0
- data/lib/usps/imis/models/generated/web_user_control_ref.rb +15 -0
- data/lib/usps/imis/models/generated/workflow_queue_item.rb +25 -0
- data/lib/usps/imis/models/generated/workflow_queue_item_with_status.rb +25 -0
- data/lib/usps/imis/models/generated/workflow_queue_status_ref.rb +15 -0
- data/lib/usps/imis/models/generated/workflow_status_ref.rb +15 -0
- data/lib/usps/imis/models/party/address.rb +32 -0
- data/lib/usps/imis/models/party/alternate_id.rb +16 -0
- data/lib/usps/imis/models/party/email.rb +17 -0
- data/lib/usps/imis/models/party/phone.rb +17 -0
- data/lib/usps/imis/models/party/salutation.rb +18 -0
- data/lib/usps/imis/models/party.rb +131 -0
- data/lib/usps/imis/models/types/upcase_string.rb +18 -0
- data/lib/usps/imis/models/vessel_safety_checks.rb +20 -0
- data/lib/usps/imis/models.rb +57 -0
- data/lib/usps/imis/party_data.rb +1 -6
- data/lib/usps/imis/query.rb +5 -1
- data/lib/usps/imis/version.rb +1 -1
- data/lib/usps/imis.rb +10 -19
- data/spec/support/usps/simple_cov_uncovered_lines_formatter.rb +53 -0
- metadata +477 -1
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'types/upcase_string'
|
|
4
|
+
require_relative 'base/finders'
|
|
5
|
+
require_relative 'base/persistence'
|
|
6
|
+
|
|
7
|
+
module Usps
|
|
8
|
+
module Imis
|
|
9
|
+
module Models
|
|
10
|
+
# ActiveModel-compatible wrapper layered on top of Data / PartyData.
|
|
11
|
+
#
|
|
12
|
+
# Subclasses declare typed attributes mapped to iMIS property names via
|
|
13
|
+
# +imis_attribute+ and bind to a Business Object via +business_object+.
|
|
14
|
+
#
|
|
15
|
+
# See +/Users/julianfiander/.claude/plans/this-api-wrapper-library-functional-crystal.md+
|
|
16
|
+
# for the design rationale.
|
|
17
|
+
#
|
|
18
|
+
class Base
|
|
19
|
+
include ActiveModel::Model
|
|
20
|
+
include ActiveModel::Attributes
|
|
21
|
+
include ActiveModel::Dirty
|
|
22
|
+
include Persistence
|
|
23
|
+
extend Finders
|
|
24
|
+
|
|
25
|
+
class_attribute :business_object_name, instance_writer: false
|
|
26
|
+
class_attribute :imis_attribute_map, instance_writer: false, default: {}.freeze
|
|
27
|
+
class_attribute :imis_collection_map, instance_writer: false, default: {}.freeze
|
|
28
|
+
|
|
29
|
+
# What the second positional arg to +find+ represents for this model:
|
|
30
|
+
# +:record_id+ for the default child-record case, +:ordinal+ for panels.
|
|
31
|
+
# Set via the +find_by:+ keyword on +business_object+.
|
|
32
|
+
#
|
|
33
|
+
class_attribute :find_key, instance_writer: false, default: :record_id
|
|
34
|
+
|
|
35
|
+
class << self
|
|
36
|
+
# Declare a typed attribute backed by an iMIS property.
|
|
37
|
+
#
|
|
38
|
+
# Default type is +:string+ — iMIS commonly stringifies values, and most
|
|
39
|
+
# attributes need no further coercion.
|
|
40
|
+
#
|
|
41
|
+
# The type can be passed positionally or as a keyword (+type:+) — the
|
|
42
|
+
# keyword form lets +source:+ and +type:+ be aligned across declarations:
|
|
43
|
+
#
|
|
44
|
+
# imis_attribute :certificate, :upcase_string, source: :ABC_ECertificate
|
|
45
|
+
# imis_attribute :certificate, source: :ABC_ECertificate, type: :upcase_string
|
|
46
|
+
#
|
|
47
|
+
# @param name [Symbol] Ruby attribute name in snake_case
|
|
48
|
+
# @param positional_type [Symbol] ActiveModel type (positional form)
|
|
49
|
+
# @param source [String, Symbol] iMIS property name (or dotted path for nested PartyData)
|
|
50
|
+
# @param type [Symbol] ActiveModel type (keyword form)
|
|
51
|
+
#
|
|
52
|
+
def imis_attribute(name, positional_type = nil, source:, **opts)
|
|
53
|
+
raise ArgumentError, 'pass type positionally or via type:, not both' if positional_type && opts[:type]
|
|
54
|
+
|
|
55
|
+
type = positional_type || opts.delete(:type) || :string
|
|
56
|
+
attribute(name, type, **opts)
|
|
57
|
+
self.imis_attribute_map = imis_attribute_map.merge(name.to_sym => source.to_s).freeze
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Bind this Model subclass to an iMIS Business Object name and
|
|
61
|
+
# register it in the routing registry. After this, any
|
|
62
|
+
# +BusinessObject#get+ / +#put+ for the matching entity returns an
|
|
63
|
+
# instance of this Model (instead of the bare +Data+ / +PartyData+).
|
|
64
|
+
#
|
|
65
|
+
# @param name [String, Symbol] Name of the iMIS Business Object
|
|
66
|
+
# @param find_by [Symbol] What the second positional arg to +find+
|
|
67
|
+
# represents — +:record_id+ for the default child-record case,
|
|
68
|
+
# +:ordinal+ for panels.
|
|
69
|
+
#
|
|
70
|
+
def business_object(name, find_by: :record_id)
|
|
71
|
+
self.business_object_name = name.to_s
|
|
72
|
+
self.find_key = find_by
|
|
73
|
+
Models.register(self)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# Declare an embedded array-of-Model collection sourced from a key
|
|
77
|
+
# (or dotted path) on the parent payload. Phase 1 is read-only:
|
|
78
|
+
# collections load on +from_data+ and are exposed as a frozen array
|
|
79
|
+
# via an +attr_reader+. They do not participate in +save+.
|
|
80
|
+
#
|
|
81
|
+
# @param name [Symbol] Ruby reader name (snake_case, plural)
|
|
82
|
+
# @param source [String, Symbol] Key (or dotted path) on the parent
|
|
83
|
+
# @param class_name [String] Element class name under +Usps::Imis::Models+
|
|
84
|
+
#
|
|
85
|
+
def has_many(name, source:, class_name:) # rubocop:disable Naming/PredicatePrefix
|
|
86
|
+
attr_reader name
|
|
87
|
+
|
|
88
|
+
self.imis_collection_map = imis_collection_map.merge(
|
|
89
|
+
name.to_sym => [source.to_s, class_name.to_s]
|
|
90
|
+
).freeze
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Declare a lazy lookup to a related Model whose canonical key is
|
|
94
|
+
# the same +imis_id+ as +self+ — e.g. +Party#individual_demog+ or
|
|
95
|
+
# +IndividualDemog#party+. Returns +nil+ when +api+ or +imis_id+
|
|
96
|
+
# is missing.
|
|
97
|
+
#
|
|
98
|
+
# @param name [Symbol] Reader method name
|
|
99
|
+
# @param class_name [String, Symbol] Target Model class under
|
|
100
|
+
# +Usps::Imis::Models+ (defaults to camelized +name+).
|
|
101
|
+
#
|
|
102
|
+
def has_one(name, class_name: nil) # rubocop:disable Naming/PredicatePrefix
|
|
103
|
+
klass_name = (class_name || name.to_s.camelize).to_s
|
|
104
|
+
cache = :"@#{name}"
|
|
105
|
+
|
|
106
|
+
define_method(name) do
|
|
107
|
+
return instance_variable_get(cache) if instance_variable_defined?(cache)
|
|
108
|
+
return if api.nil? || imis_id.nil?
|
|
109
|
+
|
|
110
|
+
instance_variable_set(cache, Models.const_get(klass_name).find(imis_id, api: api))
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
define_method(:"reload_#{name}") do
|
|
114
|
+
remove_instance_variable(cache) if instance_variable_defined?(cache)
|
|
115
|
+
public_send(name)
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Declare a lazy lookup to a related Business Object. Two shapes:
|
|
120
|
+
#
|
|
121
|
+
# - Foreign-key form (+foreign_key:+): uses the FK attribute on
|
|
122
|
+
# +self+ as the related Business Object's +record_id+, under the
|
|
123
|
+
# parent's +imis_id+ — e.g. +Party::Address#cs_address+. The
|
|
124
|
+
# target's iMIS Business Object name is read from
|
|
125
|
+
# +Models.const_get(class_name).business_object_name+ at call
|
|
126
|
+
# time, so the related class must be a registered +Models::Base+
|
|
127
|
+
# subclass.
|
|
128
|
+
# - Arg-less form: equivalent to +has_one+, looking up the named
|
|
129
|
+
# Model by +self.imis_id+ — e.g. +IndividualDemog#party+.
|
|
130
|
+
#
|
|
131
|
+
# @param name [Symbol] Reader method name
|
|
132
|
+
# @param foreign_key [Symbol, nil] Attribute on +self+ holding the Business Object record_id (FK form only).
|
|
133
|
+
# @param class_name [String, Symbol, nil] Target Model class (defaults to camelized +name+).
|
|
134
|
+
#
|
|
135
|
+
def belongs_to(name, foreign_key: nil, class_name: nil)
|
|
136
|
+
return has_one(name, class_name:) if foreign_key.nil?
|
|
137
|
+
|
|
138
|
+
cache = :"@#{name}"
|
|
139
|
+
klass_name = (class_name || name.to_s.camelize).to_s
|
|
140
|
+
|
|
141
|
+
define_method(name) do
|
|
142
|
+
return instance_variable_get(cache) if instance_variable_defined?(cache)
|
|
143
|
+
return if api.nil?
|
|
144
|
+
return unless (target_id = public_send(foreign_key))
|
|
145
|
+
|
|
146
|
+
bon = Models.const_get(klass_name).business_object_name
|
|
147
|
+
instance_variable_set(cache, api.with(imis_id, record_id: target_id) { on(bon).get })
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
define_method(:"reload_#{name}") do
|
|
151
|
+
remove_instance_variable(cache) if instance_variable_defined?(cache)
|
|
152
|
+
public_send(name)
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# Build an instance from a Data / PartyData fetched from the API.
|
|
157
|
+
#
|
|
158
|
+
def from_data(data, api: nil) = new(api:).tap { it.send(:load_from_data, data) }
|
|
159
|
+
|
|
160
|
+
# Pull a value from a Data / PartyData by source name. Supports dotted
|
|
161
|
+
# paths for nested PartyData fields (e.g. +'PersonName.FirstName'+).
|
|
162
|
+
#
|
|
163
|
+
def extract(data, source)
|
|
164
|
+
return data[source] unless source.include?('.')
|
|
165
|
+
|
|
166
|
+
source.split('.').reduce(data) { |obj, key| obj && obj[key] }
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# The originating Data / PartyData (server snapshot at last read or save).
|
|
171
|
+
#
|
|
172
|
+
attr_reader :data
|
|
173
|
+
|
|
174
|
+
# The +Api+ used for HTTP dispatch on save.
|
|
175
|
+
#
|
|
176
|
+
attr_accessor :api
|
|
177
|
+
|
|
178
|
+
def initialize(attributes = {})
|
|
179
|
+
attributes = attributes.dup
|
|
180
|
+
@api = attributes.delete(:api)
|
|
181
|
+
super
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
# Identity readers
|
|
185
|
+
# Each delegates to the underlying data (for loaded instances) or the
|
|
186
|
+
# configured +api+ (for not-yet-saved instances). +PartyData+ does not
|
|
187
|
+
# implement +record_id+ or +ordinal+; those readers return +nil+ for
|
|
188
|
+
# Party-backed instances.
|
|
189
|
+
#
|
|
190
|
+
def imis_id = identity_from_data(:imis_id) || api&.imis_id || @parent_imis_id
|
|
191
|
+
def record_id = identity_from_data(:record_id) || api&.record_id
|
|
192
|
+
def ordinal = identity_from_data(:ordinal)
|
|
193
|
+
def uniform_id = identity_from_data(:uniform_id)
|
|
194
|
+
alias id imis_id
|
|
195
|
+
alias uuid uniform_id
|
|
196
|
+
|
|
197
|
+
# Backward-compatible passthrough to the underlying +Data+ / +PartyData+.
|
|
198
|
+
# Lets Model instances stand in for Data wherever raw property lookup was
|
|
199
|
+
# used (e.g. +result['ABC_Educ_Source_System']+ from Panel callers).
|
|
200
|
+
#
|
|
201
|
+
def [](key) = data&.[](key)
|
|
202
|
+
def raw = data&.raw
|
|
203
|
+
|
|
204
|
+
def persisted? = !!@persisted
|
|
205
|
+
def to_key = persisted? ? [imis_id, ordinal].compact : nil
|
|
206
|
+
def to_param = to_key&.join('-')
|
|
207
|
+
|
|
208
|
+
def ==(other)
|
|
209
|
+
case other
|
|
210
|
+
when Models::Base then equal_to_model?(other)
|
|
211
|
+
when BaseData then equal_to_raw?(other.raw)
|
|
212
|
+
when Hash then equal_to_raw?(other)
|
|
213
|
+
else super
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
alias eql? ==
|
|
217
|
+
|
|
218
|
+
def hash = [self.class, raw, changes].hash
|
|
219
|
+
|
|
220
|
+
def inspect
|
|
221
|
+
stringio = StringIO.new
|
|
222
|
+
PP.pp(self, stringio)
|
|
223
|
+
stringio.string.delete("\n")
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
def pretty_print(pp)
|
|
227
|
+
pp.group(1, "#<#{self.class}:0x#{format('%016x', object_id << 1)}", '>') do
|
|
228
|
+
pretty_print_pair(pp, :@api, api) if Usps::Imis.config.pretty_print_api && api
|
|
229
|
+
self.class.imis_attribute_map.each_key do |attr|
|
|
230
|
+
pretty_print_pair(pp, :"@#{attr}", public_send(attr))
|
|
231
|
+
end
|
|
232
|
+
self.class.imis_collection_map.each_key do |name|
|
|
233
|
+
pretty_print_pair(pp, :"@#{name}", public_send(name))
|
|
234
|
+
end
|
|
235
|
+
end
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
private
|
|
239
|
+
|
|
240
|
+
def equal_to_model?(other) = instance_of?(other.class) && raw == other.raw && changes == other.changes
|
|
241
|
+
def equal_to_raw?(other_raw) = !changed? && raw == other_raw
|
|
242
|
+
|
|
243
|
+
def pretty_print_pair(pp, label, value)
|
|
244
|
+
pp.breakable
|
|
245
|
+
pp.text "#{label}="
|
|
246
|
+
pp.pp value
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
def identity_from_data(method)
|
|
250
|
+
data&.public_send(method)
|
|
251
|
+
rescue Errors::ApiError, NoMethodError
|
|
252
|
+
nil
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
def load_from_data(data)
|
|
256
|
+
@data = data
|
|
257
|
+
@persisted = true
|
|
258
|
+
assign_attributes(self.class.imis_attribute_map.each_with_object({}) do |(attr, source), hash|
|
|
259
|
+
hash[attr] = self.class.extract(data, source)
|
|
260
|
+
end)
|
|
261
|
+
load_collections(data)
|
|
262
|
+
changes_applied
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
def load_collections(data)
|
|
266
|
+
parent_id = imis_id
|
|
267
|
+
self.class.imis_collection_map.each do |name, (source, class_name)|
|
|
268
|
+
klass = Models.const_get(class_name)
|
|
269
|
+
items = self.class.extract(data, source) || []
|
|
270
|
+
children = items.map do |item|
|
|
271
|
+
klass.from_data(item, api:).tap { it.instance_variable_set(:@parent_imis_id, parent_id) }
|
|
272
|
+
end
|
|
273
|
+
instance_variable_set(:"@#{name}", children.freeze)
|
|
274
|
+
end
|
|
275
|
+
end
|
|
276
|
+
end
|
|
277
|
+
end
|
|
278
|
+
end
|
|
279
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Usps
|
|
4
|
+
module Imis
|
|
5
|
+
module Models
|
|
6
|
+
# Reference Model for the +ABC_ASC_Educ+ Business Object — exemplar of
|
|
7
|
+
# the typed-attribute pattern. See +Panels::Education+ for the equivalent
|
|
8
|
+
# Panel-style accessor.
|
|
9
|
+
#
|
|
10
|
+
class Education < Base
|
|
11
|
+
business_object :ABC_ASC_Educ, find_by: :ordinal
|
|
12
|
+
|
|
13
|
+
imis_attribute :certificate, source: :ABC_ECertificate, type: :upcase_string
|
|
14
|
+
imis_attribute :description, source: :ABC_Educ_Description
|
|
15
|
+
imis_attribute :effective_date, source: :ABC_Educ_Effective_Date
|
|
16
|
+
imis_attribute :thru_date, source: :ABC_EDUC_THRU_DATE, default: '0001-01-01T00:00:00'
|
|
17
|
+
imis_attribute :source, source: :ABC_Educ_Source_System
|
|
18
|
+
imis_attribute :transaction_date, source: :ABC_Educ_Transaction_Date, default: -> { Time.now }
|
|
19
|
+
imis_attribute :code, source: :ABC_Other_Code
|
|
20
|
+
imis_attribute :type_code, source: :ABC_Product_Code
|
|
21
|
+
imis_attribute :abc_type_code, source: :ABC_TYPE, default: 'EDUC'
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Usps
|
|
4
|
+
module Imis
|
|
5
|
+
module Models
|
|
6
|
+
class AbcCsContact < Base
|
|
7
|
+
business_object :ABC_CsContact
|
|
8
|
+
|
|
9
|
+
imis_attribute :address_number1, source: :AddressNumber1, type: :integer
|
|
10
|
+
imis_attribute :address_number2, source: :AddressNumber2, type: :integer
|
|
11
|
+
imis_attribute :address_number3, source: :AddressNumber3, type: :integer
|
|
12
|
+
imis_attribute :bar_code, source: :BarCode
|
|
13
|
+
imis_attribute :bill_address_num, source: :BillAddressNum, type: :integer
|
|
14
|
+
imis_attribute :birth_date, source: :BirthDate
|
|
15
|
+
imis_attribute :category, source: :Category
|
|
16
|
+
imis_attribute :chapter, source: :Chapter
|
|
17
|
+
imis_attribute :company_id, source: :CompanyId
|
|
18
|
+
imis_attribute :company_member_type, source: :CompanyMemberType
|
|
19
|
+
imis_attribute :company, source: :Company
|
|
20
|
+
imis_attribute :company_sort, source: :CompanySort
|
|
21
|
+
imis_attribute :contact_rank, source: :ContactRank, type: :integer
|
|
22
|
+
imis_attribute :country, source: :Country
|
|
23
|
+
imis_attribute :county, source: :County
|
|
24
|
+
imis_attribute :crrt, source: :Crrt
|
|
25
|
+
imis_attribute :date_added, source: :DateAdded
|
|
26
|
+
imis_attribute :designation, source: :Designation
|
|
27
|
+
imis_attribute :dup_match_key, source: :DupMatchKey
|
|
28
|
+
imis_attribute :email, source: :Email
|
|
29
|
+
imis_attribute :exclude_directory, source: :ExcludeDirectory, type: :boolean
|
|
30
|
+
imis_attribute :exclude_mail, source: :ExcludeMail, type: :boolean
|
|
31
|
+
imis_attribute :fax, source: :Fax
|
|
32
|
+
imis_attribute :full_address, source: :FullAddress
|
|
33
|
+
imis_attribute :functional_title, source: :FunctionalTitle
|
|
34
|
+
imis_attribute :home_phone, source: :HomePhone
|
|
35
|
+
imis_attribute :informal, source: :Informal
|
|
36
|
+
imis_attribute :intent_to_edit, source: :IntentToEdit
|
|
37
|
+
imis_attribute :join_date, source: :JoinDate
|
|
38
|
+
imis_attribute :last_first, source: :LastFirst
|
|
39
|
+
imis_attribute :last_name, source: :LastName
|
|
40
|
+
imis_attribute :last_updated, source: :LastUpdated
|
|
41
|
+
imis_attribute :mail_address_number, source: :MailAddressNumber, type: :integer
|
|
42
|
+
imis_attribute :mail_code, source: :MailCode
|
|
43
|
+
imis_attribute :major_key, source: :MajorKey
|
|
44
|
+
imis_attribute :is_member, source: :IsMember, type: :boolean
|
|
45
|
+
imis_attribute :member_status, source: :MemberStatus
|
|
46
|
+
imis_attribute :member_status_date, source: :MemberStatusDate
|
|
47
|
+
imis_attribute :member_type, source: :MemberType
|
|
48
|
+
imis_attribute :middle_name, source: :MiddleName
|
|
49
|
+
imis_attribute :member_type_change_date, source: :MemberTypeChangeDate
|
|
50
|
+
imis_attribute :entity_code, source: :EntityCode
|
|
51
|
+
imis_attribute :paid_through, source: :PaidThrough
|
|
52
|
+
imis_attribute :prefix, source: :Prefix
|
|
53
|
+
imis_attribute :previous_member_type, source: :PreviousMemberType
|
|
54
|
+
imis_attribute :sic_code, source: :SicCode
|
|
55
|
+
imis_attribute :source_code, source: :SourceCode
|
|
56
|
+
imis_attribute :state_house, source: :StateHouse
|
|
57
|
+
imis_attribute :state_province, source: :StateProvince
|
|
58
|
+
imis_attribute :state_senate, source: :StateSenate
|
|
59
|
+
imis_attribute :status, source: :Status
|
|
60
|
+
imis_attribute :suffix, source: :Suffix
|
|
61
|
+
imis_attribute :title, source: :Title
|
|
62
|
+
imis_attribute :updated_by, source: :UpdatedBy
|
|
63
|
+
imis_attribute :us_congress, source: :UsCongress
|
|
64
|
+
imis_attribute :website, source: :Website
|
|
65
|
+
imis_attribute :work_phone, source: :WorkPhone
|
|
66
|
+
imis_attribute :zip, source: :Zip
|
|
67
|
+
imis_attribute :first_name, source: :FirstName
|
|
68
|
+
imis_attribute :city, source: :City
|
|
69
|
+
imis_attribute :toll_free, source: :TollFree
|
|
70
|
+
imis_attribute :ship_address_num, source: :ShipAddressNum, type: :integer
|
|
71
|
+
imis_attribute :backorders, source: :Backorders, type: :integer
|
|
72
|
+
imis_attribute :credit_limit, source: :CreditLimit, type: :float
|
|
73
|
+
imis_attribute :no_statements, source: :NoStatements, type: :boolean
|
|
74
|
+
imis_attribute :renew_months, source: :RenewMonths, type: :float
|
|
75
|
+
imis_attribute :renewed_thru, source: :RenewedThru
|
|
76
|
+
imis_attribute :default_tax_authority, source: :DefaultTaxAuthority
|
|
77
|
+
imis_attribute :tax_exempt, source: :TaxExempt
|
|
78
|
+
imis_attribute :default_terms_code, source: :DefaultTermsCode
|
|
79
|
+
imis_attribute :vat_exempt, source: :VatExempt, type: :boolean
|
|
80
|
+
imis_attribute :vat_country, source: :VatCountry
|
|
81
|
+
imis_attribute :vat_reg_number, source: :VatRegNumber
|
|
82
|
+
imis_attribute :is_company, source: :IsCompany, type: :boolean
|
|
83
|
+
imis_attribute :full_name, source: :FullName
|
|
84
|
+
imis_attribute :next_renewal, source: :NextRenewal
|
|
85
|
+
imis_attribute :mobile_phone, source: :MobilePhone
|
|
86
|
+
imis_attribute :bill_to_id, source: :BillToID
|
|
87
|
+
imis_attribute :gender, source: :Gender
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Usps
|
|
4
|
+
module Imis
|
|
5
|
+
module Models
|
|
6
|
+
class AbcFed990 < Base
|
|
7
|
+
business_object :ABC_FED990
|
|
8
|
+
|
|
9
|
+
imis_attribute :form_filed, source: :FormFiled, type: :boolean
|
|
10
|
+
imis_attribute :incorporated, source: :Incorporated, type: :boolean
|
|
11
|
+
imis_attribute :total_expenditures, source: :TotalExpenditures, type: :float
|
|
12
|
+
imis_attribute :start_date, source: :StartDate
|
|
13
|
+
imis_attribute :end_date, source: :EndDate
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Usps
|
|
4
|
+
module Imis
|
|
5
|
+
module Models
|
|
6
|
+
class AbcPsVolunteerSkills < Base
|
|
7
|
+
business_object :ABC_PS_VolunteerSkills, find_by: :ordinal
|
|
8
|
+
|
|
9
|
+
imis_attribute :notes, source: :Notes
|
|
10
|
+
imis_attribute :skill_level, source: :Skill_Level
|
|
11
|
+
imis_attribute :skills, source: :Skills
|
|
12
|
+
imis_attribute :staff_notes, source: :Staff_Notes
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Usps
|
|
4
|
+
module Imis
|
|
5
|
+
module Models
|
|
6
|
+
class AccessArea < Base
|
|
7
|
+
business_object :AccessArea
|
|
8
|
+
|
|
9
|
+
imis_attribute :description, source: :Description
|
|
10
|
+
imis_attribute :is_system, source: :IsSystem, type: :boolean
|
|
11
|
+
imis_attribute :name, source: :Name
|
|
12
|
+
imis_attribute :updated_by_user_key, source: :UpdatedByUserKey
|
|
13
|
+
imis_attribute :updated_on, source: :UpdatedOn
|
|
14
|
+
imis_attribute :access_area_key, source: :AccessAreaKey
|
|
15
|
+
imis_attribute :created_by_user_key, source: :CreatedByUserKey
|
|
16
|
+
imis_attribute :created_on, source: :CreatedOn
|
|
17
|
+
imis_attribute :protected_access_key, source: :ProtectedAccessKey
|
|
18
|
+
imis_attribute :is_content_acl, source: :IsContentACL, type: :boolean
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Usps
|
|
4
|
+
module Imis
|
|
5
|
+
module Models
|
|
6
|
+
class AccessItem < Base
|
|
7
|
+
business_object :AccessItem
|
|
8
|
+
|
|
9
|
+
imis_attribute :access_key, source: :AccessKey
|
|
10
|
+
imis_attribute :grantee, source: :Grantee
|
|
11
|
+
imis_attribute :group_key, source: :GroupKey
|
|
12
|
+
imis_attribute :permission, source: :Permission, type: :integer
|
|
13
|
+
imis_attribute :role_key, source: :RoleKey
|
|
14
|
+
imis_attribute :user_key, source: :UserKey
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Usps
|
|
4
|
+
module Imis
|
|
5
|
+
module Models
|
|
6
|
+
class AccessMain < Base
|
|
7
|
+
business_object :AccessMain
|
|
8
|
+
|
|
9
|
+
imis_attribute :access_key, source: :AccessKey
|
|
10
|
+
imis_attribute :access_scope, source: :AccessScope
|
|
11
|
+
imis_attribute :created_by_user_key, source: :CreatedByUserKey
|
|
12
|
+
imis_attribute :created_on, source: :CreatedOn
|
|
13
|
+
imis_attribute :updated_by_user_key, source: :UpdatedByUserKey
|
|
14
|
+
imis_attribute :updated_on, source: :UpdatedOn
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Usps
|
|
4
|
+
module Imis
|
|
5
|
+
module Models
|
|
6
|
+
class ActionPlan < Base
|
|
7
|
+
business_object :ActionPlan
|
|
8
|
+
|
|
9
|
+
imis_attribute :action_manifest, source: :ActionManifest
|
|
10
|
+
imis_attribute :description, source: :Description
|
|
11
|
+
imis_attribute :name, source: :Name
|
|
12
|
+
imis_attribute :updated_by_user_key, source: :UpdatedByUserKey
|
|
13
|
+
imis_attribute :updated_on, source: :UpdatedOn
|
|
14
|
+
imis_attribute :action_plan_key, source: :ActionPlanKey
|
|
15
|
+
imis_attribute :opportunity_type_key, source: :OpportunityTypeKey
|
|
16
|
+
imis_attribute :created_by_user_key, source: :CreatedByUserKey
|
|
17
|
+
imis_attribute :created_on, source: :CreatedOn
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Usps
|
|
4
|
+
module Imis
|
|
5
|
+
module Models
|
|
6
|
+
class Activity < Base
|
|
7
|
+
business_object :Activity
|
|
8
|
+
|
|
9
|
+
imis_attribute :action_codes, source: :ACTION_CODES
|
|
10
|
+
imis_attribute :activity_type, source: :ACTIVITY_TYPE
|
|
11
|
+
imis_attribute :amount, source: :AMOUNT, type: :float
|
|
12
|
+
imis_attribute :attach_seqn, source: :ATTACH_SEQN, type: :integer
|
|
13
|
+
imis_attribute :attach_total, source: :ATTACH_TOTAL, type: :integer
|
|
14
|
+
imis_attribute :batch_num, source: :BATCH_NUM
|
|
15
|
+
imis_attribute :campaign_code, source: :CAMPAIGN_CODE
|
|
16
|
+
imis_attribute :category, source: :CATEGORY
|
|
17
|
+
imis_attribute :co_id, source: :CO_ID
|
|
18
|
+
imis_attribute :description, source: :DESCRIPTION
|
|
19
|
+
imis_attribute :effective_date, source: :EFFECTIVE_DATE
|
|
20
|
+
imis_attribute :grace_period, source: :GRACE_PERIOD
|
|
21
|
+
imis_attribute :party_id, source: :PartyId
|
|
22
|
+
imis_attribute :intent_to_edit, source: :INTENT_TO_EDIT
|
|
23
|
+
imis_attribute :mem_trib_code, source: :MEM_TRIB_CODE
|
|
24
|
+
imis_attribute :member_type, source: :MEMBER_TYPE
|
|
25
|
+
imis_attribute :next_install_date, source: :NEXT_INSTALL_DATE
|
|
26
|
+
imis_attribute :note, source: :NOTE
|
|
27
|
+
imis_attribute :note_2, source: :NOTE_2
|
|
28
|
+
imis_attribute :object, source: :OBJECT
|
|
29
|
+
imis_attribute :org_code, source: :ORG_CODE
|
|
30
|
+
imis_attribute :originating_trans_num, source: :ORIGINATING_TRANS_NUM, type: :integer
|
|
31
|
+
imis_attribute :other_code, source: :OTHER_CODE
|
|
32
|
+
imis_attribute :other_id, source: :OTHER_ID
|
|
33
|
+
imis_attribute :pay_method, source: :PAY_METHOD
|
|
34
|
+
imis_attribute :product_code, source: :PRODUCT_CODE
|
|
35
|
+
imis_attribute :quantity, source: :QUANTITY, type: :float
|
|
36
|
+
imis_attribute :recurring_request, source: :RECURRING_REQUEST, type: :boolean
|
|
37
|
+
imis_attribute :seqn, source: :SEQN, type: :integer
|
|
38
|
+
imis_attribute :solicitor_id, source: :SOLICITOR_ID
|
|
39
|
+
imis_attribute :source_code, source: :SOURCE_CODE
|
|
40
|
+
imis_attribute :source_system, source: :SOURCE_SYSTEM
|
|
41
|
+
imis_attribute :status_code, source: :STATUS_CODE
|
|
42
|
+
imis_attribute :taxable_value, source: :TAXABLE_VALUE, type: :float
|
|
43
|
+
imis_attribute :thru_date, source: :THRU_DATE
|
|
44
|
+
imis_attribute :tickler_date, source: :TICKLER_DATE
|
|
45
|
+
imis_attribute :transaction_date, source: :TRANSACTION_DATE
|
|
46
|
+
imis_attribute :uf_1, source: :UF_1
|
|
47
|
+
imis_attribute :uf_2, source: :UF_2
|
|
48
|
+
imis_attribute :uf_3, source: :UF_3
|
|
49
|
+
imis_attribute :uf_4, source: :UF_4, type: :float
|
|
50
|
+
imis_attribute :uf_5, source: :UF_5, type: :float
|
|
51
|
+
imis_attribute :uf_6, source: :UF_6
|
|
52
|
+
imis_attribute :uf_7, source: :UF_7
|
|
53
|
+
imis_attribute :units, source: :UNITS, type: :float
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Usps
|
|
4
|
+
module Imis
|
|
5
|
+
module Models
|
|
6
|
+
class ActivityLdao < Base
|
|
7
|
+
business_object :Activity_LDAO
|
|
8
|
+
|
|
9
|
+
imis_attribute :action_codes, source: :ACTION_CODES
|
|
10
|
+
imis_attribute :activity_type, source: :ACTIVITY_TYPE
|
|
11
|
+
imis_attribute :amount, source: :AMOUNT, type: :float
|
|
12
|
+
imis_attribute :attach_seqn, source: :ATTACH_SEQN, type: :integer
|
|
13
|
+
imis_attribute :attach_total, source: :ATTACH_TOTAL, type: :integer
|
|
14
|
+
imis_attribute :batch_num, source: :BATCH_NUM
|
|
15
|
+
imis_attribute :campaign_code, source: :CAMPAIGN_CODE
|
|
16
|
+
imis_attribute :category, source: :CATEGORY
|
|
17
|
+
imis_attribute :co_id, source: :CO_ID
|
|
18
|
+
imis_attribute :description, source: :DESCRIPTION
|
|
19
|
+
imis_attribute :effective_date, source: :EFFECTIVE_DATE
|
|
20
|
+
imis_attribute :grace_period, source: :GRACE_PERIOD, type: :integer
|
|
21
|
+
imis_attribute :intent_to_edit, source: :INTENT_TO_EDIT
|
|
22
|
+
imis_attribute :mem_trib_code, source: :MEM_TRIB_CODE
|
|
23
|
+
imis_attribute :member_type, source: :MEMBER_TYPE
|
|
24
|
+
imis_attribute :next_install_date, source: :NEXT_INSTALL_DATE
|
|
25
|
+
imis_attribute :note, source: :NOTE
|
|
26
|
+
imis_attribute :note_2, source: :NOTE_2
|
|
27
|
+
imis_attribute :object, source: :OBJECT
|
|
28
|
+
imis_attribute :org_code, source: :ORG_CODE
|
|
29
|
+
imis_attribute :originating_trans_num, source: :ORIGINATING_TRANS_NUM, type: :integer
|
|
30
|
+
imis_attribute :other_code, source: :OTHER_CODE
|
|
31
|
+
imis_attribute :other_id, source: :OTHER_ID
|
|
32
|
+
imis_attribute :pay_method, source: :PAY_METHOD
|
|
33
|
+
imis_attribute :product_code, source: :PRODUCT_CODE
|
|
34
|
+
imis_attribute :quantity, source: :QUANTITY, type: :float
|
|
35
|
+
imis_attribute :recurring_request, source: :RECURRING_REQUEST, type: :boolean
|
|
36
|
+
imis_attribute :seqn, source: :SEQN, type: :integer
|
|
37
|
+
imis_attribute :solicitor_id, source: :SOLICITOR_ID
|
|
38
|
+
imis_attribute :source_code, source: :SOURCE_CODE
|
|
39
|
+
imis_attribute :source_system, source: :SOURCE_SYSTEM
|
|
40
|
+
imis_attribute :status_code, source: :STATUS_CODE
|
|
41
|
+
imis_attribute :taxable_value, source: :TAXABLE_VALUE, type: :float
|
|
42
|
+
imis_attribute :thru_date, source: :THRU_DATE
|
|
43
|
+
imis_attribute :tickler_date, source: :TICKLER_DATE
|
|
44
|
+
imis_attribute :time_stamp, source: :TIME_STAMP
|
|
45
|
+
imis_attribute :transaction_date, source: :TRANSACTION_DATE
|
|
46
|
+
imis_attribute :uf_1, source: :UF_1
|
|
47
|
+
imis_attribute :uf_2, source: :UF_2
|
|
48
|
+
imis_attribute :uf_3, source: :UF_3
|
|
49
|
+
imis_attribute :uf_4, source: :UF_4, type: :float
|
|
50
|
+
imis_attribute :uf_5, source: :UF_5, type: :float
|
|
51
|
+
imis_attribute :uf_6, source: :UF_6
|
|
52
|
+
imis_attribute :uf_7, source: :UF_7
|
|
53
|
+
imis_attribute :units, source: :UNITS, type: :float
|
|
54
|
+
imis_attribute :custom_property, source: :CustomProperty
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|