unico-training 7.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +22 -0
- data/.rspec +1 -0
- data/.rubocop.yml +13 -0
- data/Gemfile +3 -0
- data/LICENSE +22 -0
- data/README.md +35 -0
- data/Rakefile +43 -0
- data/app/business/material_code_generator.rb +43 -0
- data/app/business/similarity_control_adjuster.rb +2 -0
- data/app/business/similarity_control_checker.rb +2 -0
- data/app/business/unico/similarity_control_adjuster.rb +129 -0
- data/app/business/unico/similarity_control_checker.rb +96 -0
- data/app/controllers/agencies_controller.rb +2 -0
- data/app/controllers/bank_accounts_controller.rb +2 -0
- data/app/controllers/banks_controller.rb +2 -0
- data/app/controllers/creditors_controller.rb +2 -0
- data/app/controllers/document_types_controller.rb +2 -0
- data/app/controllers/material_classes_controller.rb +2 -0
- data/app/controllers/materials_controller.rb +2 -0
- data/app/controllers/reference_units_controller.rb +2 -0
- data/app/controllers/registration_cadastral_certificates_controller.rb +2 -0
- data/app/controllers/regularization_or_administrative_sanction_reasons_controller.rb +2 -0
- data/app/controllers/similarity_controls_controller.rb +2 -0
- data/app/controllers/unico/agencies_controller.rb +5 -0
- data/app/controllers/unico/bank_accounts_controller.rb +17 -0
- data/app/controllers/unico/banks_controller.rb +3 -0
- data/app/controllers/unico/creditors_controller.rb +3 -0
- data/app/controllers/unico/document_types_controller.rb +3 -0
- data/app/controllers/unico/material_classes_controller.rb +3 -0
- data/app/controllers/unico/materials_controller.rb +27 -0
- data/app/controllers/unico/reference_units_controller.rb +3 -0
- data/app/controllers/unico/registration_cadastral_certificates_controller.rb +30 -0
- data/app/controllers/unico/regularization_or_administrative_sanction_reasons_controller.rb +3 -0
- data/app/controllers/unico/similarity_controls_controller.rb +68 -0
- data/app/decorators/agency_decorator.rb +3 -0
- data/app/decorators/bank_account_decorator.rb +3 -0
- data/app/decorators/bank_decorator.rb +3 -0
- data/app/decorators/creditor_decorator.rb +11 -0
- data/app/decorators/document_type_decorator.rb +3 -0
- data/app/decorators/material_class_decorator.rb +52 -0
- data/app/decorators/reference_unit_decorator.rb +3 -0
- data/app/decorators/registration_cadastral_certificate_decorator.rb +6 -0
- data/app/decorators/regularization_or_administrative_sanction_reason_decorator.rb +3 -0
- data/app/decorators/similarity_control_decorator.rb +5 -0
- data/app/enumerations/account_type.rb +3 -0
- data/app/enumerations/bank_account_kind.rb +3 -0
- data/app/enumerations/cbo_type.rb +3 -0
- data/app/enumerations/condominium_type.rb +3 -0
- data/app/enumerations/customization_model.rb +10 -0
- data/app/enumerations/data_type.rb +3 -0
- data/app/enumerations/gender.rb +3 -0
- data/app/enumerations/habilitation_kind.rb +4 -0
- data/app/enumerations/issuer.rb +11 -0
- data/app/enumerations/job_status.rb +3 -0
- data/app/enumerations/legal_nature_level.rb +3 -0
- data/app/enumerations/marital_status.rb +3 -0
- data/app/enumerations/material_classification_type.rb +3 -0
- data/app/enumerations/nationality.rb +3 -0
- data/app/enumerations/organ_responsible.rb +3 -0
- data/app/enumerations/personable_type.rb +4 -0
- data/app/enumerations/regularization_or_administrative_sanction_reason_type.rb +3 -0
- data/app/enumerations/regularization_or_administrative_sanction_reason_type.yml +5 -0
- data/app/enumerations/regulatory_act_classification.rb +3 -0
- data/app/enumerations/regulatory_act_type.rb +9 -0
- data/app/enumerations/similarity_table.rb +23 -0
- data/app/enumerations/state_list.rb +5 -0
- data/app/enumerations/status.rb +3 -0
- data/app/enumerations/taxable_type.rb +7 -0
- data/app/models/address.rb +2 -0
- data/app/models/agency.rb +2 -0
- data/app/models/bank.rb +2 -0
- data/app/models/bank_account.rb +2 -0
- data/app/models/city.rb +2 -0
- data/app/models/cnae.rb +2 -0
- data/app/models/communication_source.rb +2 -0
- data/app/models/company.rb +2 -0
- data/app/models/company_size.rb +2 -0
- data/app/models/condominium.rb +2 -0
- data/app/models/country.rb +2 -0
- data/app/models/creditor.rb +2 -0
- data/app/models/creditor_balance.rb +2 -0
- data/app/models/creditor_bank_account.rb +2 -0
- data/app/models/creditor_document.rb +2 -0
- data/app/models/creditor_representative.rb +2 -0
- data/app/models/creditor_secondary_cnae.rb +2 -0
- data/app/models/currency.rb +2 -0
- data/app/models/customer.rb +2 -0
- data/app/models/customization.rb +54 -0
- data/app/models/customization_datum.rb +39 -0
- data/app/models/dissemination_source.rb +2 -0
- data/app/models/district.rb +2 -0
- data/app/models/document_type.rb +2 -0
- data/app/models/identity.rb +2 -0
- data/app/models/individual.rb +2 -0
- data/app/models/inscriptio_cursualis/address.rb +24 -0
- data/app/models/inscriptio_cursualis/city.rb +22 -0
- data/app/models/inscriptio_cursualis/condominium.rb +15 -0
- data/app/models/inscriptio_cursualis/country.rb +15 -0
- data/app/models/inscriptio_cursualis/district.rb +16 -0
- data/app/models/inscriptio_cursualis/land_subdivision.rb +12 -0
- data/app/models/inscriptio_cursualis/neighborhood.rb +33 -0
- data/app/models/inscriptio_cursualis/state.rb +20 -0
- data/app/models/inscriptio_cursualis/street.rb +38 -0
- data/app/models/inscriptio_cursualis/street_type.rb +18 -0
- data/app/models/land_subdivision.rb +2 -0
- data/app/models/legal_nature.rb +2 -0
- data/app/models/material.rb +2 -0
- data/app/models/material_class.rb +2 -0
- data/app/models/neighborhood.rb +2 -0
- data/app/models/occupation_base_group.rb +2 -0
- data/app/models/occupation_classification.rb +2 -0
- data/app/models/occupation_group.rb +2 -0
- data/app/models/occupation_main_group.rb +2 -0
- data/app/models/occupation_subgroup.rb +2 -0
- data/app/models/partner.rb +2 -0
- data/app/models/person.rb +2 -0
- data/app/models/persona/company.rb +71 -0
- data/app/models/persona/company_size.rb +12 -0
- data/app/models/persona/creditor.rb +102 -0
- data/app/models/persona/identity.rb +14 -0
- data/app/models/persona/individual.rb +40 -0
- data/app/models/persona/legal_nature.rb +21 -0
- data/app/models/persona/partner.rb +13 -0
- data/app/models/persona/person.rb +57 -0
- data/app/models/prefecture.rb +2 -0
- data/app/models/reference_unit.rb +2 -0
- data/app/models/registration_cadastral_certificate.rb +2 -0
- data/app/models/regularization_or_administrative_sanction.rb +2 -0
- data/app/models/regularization_or_administrative_sanction_reason.rb +2 -0
- data/app/models/regulatory_act.rb +2 -0
- data/app/models/risk_degree.rb +2 -0
- data/app/models/similarity_control.rb +2 -0
- data/app/models/similarity_control_item.rb +2 -0
- data/app/models/similarity_control_table.rb +2 -0
- data/app/models/state.rb +2 -0
- data/app/models/street.rb +2 -0
- data/app/models/street_type.rb +2 -0
- data/app/models/unico/agency.rb +25 -0
- data/app/models/unico/bank.rb +18 -0
- data/app/models/unico/bank_account.rb +31 -0
- data/app/models/unico/cnae.rb +19 -0
- data/app/models/unico/communication_source.rb +15 -0
- data/app/models/unico/creditor_balance.rb +8 -0
- data/app/models/unico/creditor_bank_account.rb +21 -0
- data/app/models/unico/creditor_document.rb +37 -0
- data/app/models/unico/creditor_representative.rb +19 -0
- data/app/models/unico/creditor_secondary_cnae.rb +6 -0
- data/app/models/unico/currency.rb +13 -0
- data/app/models/unico/customer.rb +25 -0
- data/app/models/unico/dissemination_source.rb +19 -0
- data/app/models/unico/document_type.rb +21 -0
- data/app/models/unico/material.rb +33 -0
- data/app/models/unico/material_class.rb +119 -0
- data/app/models/unico/occupation_base_group.rb +17 -0
- data/app/models/unico/occupation_classification.rb +22 -0
- data/app/models/unico/occupation_group.rb +16 -0
- data/app/models/unico/occupation_main_group.rb +17 -0
- data/app/models/unico/occupation_subgroup.rb +17 -0
- data/app/models/unico/prefecture.rb +31 -0
- data/app/models/unico/reference_unit.rb +18 -0
- data/app/models/unico/registration_cadastral_certificate.rb +55 -0
- data/app/models/unico/regularization_or_administrative_sanction.rb +16 -0
- data/app/models/unico/regularization_or_administrative_sanction_reason.rb +18 -0
- data/app/models/unico/regulatory_act.rb +27 -0
- data/app/models/unico/risk_degree.rb +12 -0
- data/app/models/unico/similarity_control.rb +59 -0
- data/app/models/unico/similarity_control_item.rb +41 -0
- data/app/models/unico/similarity_control_table.rb +8 -0
- data/app/uploaders/image_uploader.rb +13 -0
- data/app/uploaders/individual_image_uploader.rb +9 -0
- data/app/uploaders/prefecture_logo_uploader.rb +5 -0
- data/app/uploaders/unico_uploader.rb +5 -0
- data/app/uploaders/uploader.rb +13 -0
- data/app/validators/mail_validator.rb +7 -0
- data/app/validators/person_validator.rb +9 -0
- data/app/views/agencies/_data_attributes.html.jbuilder +6 -0
- data/app/views/agencies/_form.html.erb +26 -0
- data/app/views/bank_accounts/_data_attributes.html.jbuilder +3 -0
- data/app/views/bank_accounts/_form.html.erb +51 -0
- data/app/views/bank_accounts/_main.html.erb +35 -0
- data/app/views/bank_accounts/_show.html.erb +70 -0
- data/app/views/banks/_form.html.erb +13 -0
- data/app/views/cnaes/_data_attributes.html.jbuilder +4 -0
- data/app/views/cnaes/_list_form.html.erb +12 -0
- data/app/views/creditor_balances/_form.html.erb +55 -0
- data/app/views/creditor_bank_accounts/_form.html.erb +36 -0
- data/app/views/creditor_documents/_form.html.erb +32 -0
- data/app/views/creditor_representatives/_list_form.html.erb +12 -0
- data/app/views/creditors/_accounts.html.erb +15 -0
- data/app/views/creditors/_balance.html.erb +15 -0
- data/app/views/creditors/_cnaes.html.erb +36 -0
- data/app/views/creditors/_data_attributes.html.jbuilder +7 -0
- data/app/views/creditors/_documents.html.erb +26 -0
- data/app/views/creditors/_form.html.erb +151 -0
- data/app/views/creditors/_form_buttons.html.erb +14 -0
- data/app/views/creditors/_main.html.erb +68 -0
- data/app/views/creditors/_modal_form.html.erb +3 -0
- data/app/views/creditors/_regularization_or_administrative_sanctions.html.erb +26 -0
- data/app/views/creditors/_representatives.html.erb +37 -0
- data/app/views/creditors/_show.html.erb +105 -0
- data/app/views/creditors/index.json.jbuilder +11 -0
- data/app/views/document_types/_data_attributes.html.jbuilder +4 -0
- data/app/views/document_types/_form.html.erb +3 -0
- data/app/views/document_types/_list_form.html.erb +11 -0
- data/app/views/material_classes/_data_attributes.json.jbuilder +4 -0
- data/app/views/material_classes/_form.html.erb +59 -0
- data/app/views/material_classes/_form_buttons.html.erb +11 -0
- data/app/views/material_classes/_modal_form.html.erb +8 -0
- data/app/views/material_classes/index.json.jbuilder +9 -0
- data/app/views/materials/_data_attributes.html.jbuilder +5 -0
- data/app/views/materials/_form.html.erb +25 -0
- data/app/views/materials/_main.html.erb +34 -0
- data/app/views/materials/index.json.jbuilder +7 -0
- data/app/views/reference_units/_form.html.erb +9 -0
- data/app/views/registration_cadastral_certificates/_actions.html.erb +11 -0
- data/app/views/registration_cadastral_certificates/_form.html.erb +62 -0
- data/app/views/registration_cadastral_certificates/_form_buttons.html.erb +9 -0
- data/app/views/registration_cadastral_certificates/index.html.erb +9 -0
- data/app/views/regularization_or_administrative_sanction_reasons/_data_attributes.html.jbuilder +3 -0
- data/app/views/regularization_or_administrative_sanction_reasons/_form.html.erb +2 -0
- data/app/views/regularization_or_administrative_sanctions/_form.html.erb +28 -0
- data/app/views/similarity_controls/processing.html.erb +25 -0
- data/app/views/similarity_controls/show.json.jbuilder +3 -0
- data/app/workers/base_worker.rb +62 -0
- data/app/workers/similarity_control_worker.rb +2 -0
- data/app/workers/unico/similarity_control_worker.rb +19 -0
- data/build.sh +17 -0
- data/config/database.sample.yml +8 -0
- data/config/database.semaphore.yml +17 -0
- data/config/environment.rb +0 -0
- data/config/initializers/active_record_block.rb +3 -0
- data/config/initializers/active_record_filter.rb +3 -0
- data/config/initializers/active_record_modal.rb +3 -0
- data/config/locales/account_type.yml +5 -0
- data/config/locales/activerecord.yml +14 -0
- data/config/locales/agency.yml +17 -0
- data/config/locales/bank.yml +12 -0
- data/config/locales/bank_account.yml +20 -0
- data/config/locales/bank_account_kind.yml +8 -0
- data/config/locales/cbo_type.yml +5 -0
- data/config/locales/communication_source.yml +10 -0
- data/config/locales/controllers.yml +9 -0
- data/config/locales/creditor.yml +35 -0
- data/config/locales/creditor_balance.yml +18 -0
- data/config/locales/creditor_bank_account.yml +17 -0
- data/config/locales/creditor_document.yml +15 -0
- data/config/locales/creditor_representative.yml +11 -0
- data/config/locales/customization_model.yml +11 -0
- data/config/locales/dissemination_source.yml +11 -0
- data/config/locales/document_type.yml +12 -0
- data/config/locales/habilitation_kind.yml +6 -0
- data/config/locales/issuer.yml +32 -0
- data/config/locales/job_status.yml +6 -0
- data/config/locales/material.yml +21 -0
- data/config/locales/material_class.yml +17 -0
- data/config/locales/material_classification_type.yml +6 -0
- data/config/locales/organ_responsible.yml +6 -0
- data/config/locales/prefecture.yml +10 -0
- data/config/locales/reference_unit.yml +11 -0
- data/config/locales/registration_cadastral_certificate.yml +24 -0
- data/config/locales/regularization_or_administrative_sanction.yml +15 -0
- data/config/locales/regularization_or_administrative_sanction_reason.yml +11 -0
- data/config/locales/regulatory_act.yml +29 -0
- data/config/locales/regulatory_act_classification.yml +7 -0
- data/config/locales/regulatory_act_type.yml +10 -0
- data/config/locales/similarity_control.yml +19 -0
- data/config/locales/similarity_table.yml +8 -0
- data/config/locales/state_list.yml +30 -0
- data/config/locales/status.yml +5 -0
- data/config/locales/street.yml +19 -0
- data/db/functions/constraints/01_add_constraints.sql +49 -0
- data/db/migrate/20110116144640_add_unaccent_extension.rb +5 -0
- data/db/migrate/20110429235848_create_people.rb +13 -0
- data/db/migrate/20110530180855_create_countries.rb +10 -0
- data/db/migrate/20110531131347_create_states.rb +11 -0
- data/db/migrate/20110601163113_create_cities.rb +14 -0
- data/db/migrate/20110601172922_add_country_id_to_states.rb +6 -0
- data/db/migrate/20110601201806_create_districts.rb +10 -0
- data/db/migrate/20110602124204_create_street_types.rb +9 -0
- data/db/migrate/20110602135553_create_streets.rb +17 -0
- data/db/migrate/20110602175632_create_neighborhoods.rb +12 -0
- data/db/migrate/20110602184257_add_phone_to_people.rb +7 -0
- data/db/migrate/20110602184907_add_email_to_people.rb +5 -0
- data/db/migrate/20110602185306_add_code_to_people.rb +5 -0
- data/db/migrate/20110602190207_create_person_identities.rb +16 -0
- data/db/migrate/20110602201455_create_land_subdivisions.rb +15 -0
- data/db/migrate/20110603131109_create_condominium_types.rb +9 -0
- data/db/migrate/20110603141048_create_condominiums.rb +29 -0
- data/db/migrate/20110603163203_remove_number_from_condominium.rb +9 -0
- data/db/migrate/20110606163747_remove_code_from_people.rb +5 -0
- data/db/migrate/20110606165434_remove_neighborhood_id_from_condominiums.rb +6 -0
- data/db/migrate/20110606170743_remove_code_from_countries.rb +5 -0
- data/db/migrate/20110606172221_remove_code_from_states.rb +5 -0
- data/db/migrate/20110606172748_remove_code_from_cities.rb +5 -0
- data/db/migrate/20110606174103_remove_code_from_districts.rb +5 -0
- data/db/migrate/20110607135059_create_currencies.rb +10 -0
- data/db/migrate/20110616191453_create_genders.rb +9 -0
- data/db/migrate/20110616192113_remove_gender_from_people.rb +5 -0
- data/db/migrate/20110616192206_add_gender_id_to_people.rb +6 -0
- data/db/migrate/20110621195226_create_address_types.rb +9 -0
- data/db/migrate/20110622170457_create_company_sizes.rb +11 -0
- data/db/migrate/20110622205700_create_addresses.rb +27 -0
- data/db/migrate/20110627190518_create_legal_natures.rb +10 -0
- data/db/migrate/20110627204600_add_ancestry_to_legal_natures.rb +6 -0
- data/db/migrate/20110629204622_create_companies.rb +24 -0
- data/db/migrate/20110629221035_create_contributors.rb +12 -0
- data/db/migrate/20110629224915_add_name_to_companies.rb +5 -0
- data/db/migrate/20110704052310_add_cpf_to_people.rb +5 -0
- data/db/migrate/20110706140744_add_cep_to_addresses.rb +5 -0
- data/db/migrate/20110712135510_create_prefectures.rb +27 -0
- data/db/migrate/20110722183838_create_address_tickets.rb +10 -0
- data/db/migrate/20110811202352_add_number_to_addresses.rb +5 -0
- data/db/migrate/20110811202544_add_zip_code_to_addresses.rb +5 -0
- data/db/migrate/20110811202804_add_block_to_addresses.rb +5 -0
- data/db/migrate/20110811202940_add_room_to_addresses.rb +5 -0
- data/db/migrate/20110811203043_remove_cep_from_addresses.rb +9 -0
- data/db/migrate/20110811204502_remove_zip_code_from_streets.rb +9 -0
- data/db/migrate/20110815164912_rename_table_people_to_individuals.rb +9 -0
- data/db/migrate/20110815165559_rename_table_contributors_to_people.rb +9 -0
- data/db/migrate/20110815171945_rename_table_person_identities_to_individual_identities.rb +9 -0
- data/db/migrate/20110815182338_rename_column_person_id_in_identity_to_individual_id.rb +9 -0
- data/db/migrate/20110815193318_remove_street_id_from_prefectures.rb +11 -0
- data/db/migrate/20110815193801_remove_neighborhood_id_from_prefectures.rb +11 -0
- data/db/migrate/20110815194308_remove_number_from_prefectures.rb +9 -0
- data/db/migrate/20110815194430_remove_zip_code_from_prefectures.rb +9 -0
- data/db/migrate/20110815194457_remove_complement_from_prefectures.rb +9 -0
- data/db/migrate/20110816024105_add_company_size_as_fk_to_companies.rb +5 -0
- data/db/migrate/20110816024522_add_legal_nature_as_fk_to_companies.rb +5 -0
- data/db/migrate/20110816030813_add_person_id_as_fk_to_companies.rb +5 -0
- data/db/migrate/20110816195312_create_partners.rb +18 -0
- data/db/migrate/20110817140815_create_customers.rb +13 -0
- data/db/migrate/20110817210250_add_correspondence_to_addresses.rb +5 -0
- data/db/migrate/20110901172241_remove_street_id_from_condominium.rb +5 -0
- data/db/migrate/20110902133329_alter_column_digit_to_code_on_cities.rb +5 -0
- data/db/migrate/20110903171330_add_neighborhood_id_to_prefectures.rb +6 -0
- data/db/migrate/20110905113916_add_column_default_to_countries.rb +5 -0
- data/db/migrate/20110905121020_add_column_default_to_cities.rb +5 -0
- data/db/migrate/20110905122437_remove_neighborhood_id_from_prefectures_again.rb +11 -0
- data/db/migrate/20110905162912_add_column_default_to_districts.rb +5 -0
- data/db/migrate/20110905172053_add_column_default_to_states.rb +5 -0
- data/db/migrate/20110905192053_remove_city_id_from_street.rb +11 -0
- data/db/migrate/20110905192751_add_acronym_to_street_types.rb +5 -0
- data/db/migrate/20110906120319_add_gender_id_to_people_again.rb +5 -0
- data/db/migrate/20110908133532_add_address_type_id_to_addresses.rb +7 -0
- data/db/migrate/20110908175305_create_neighborhoods_streets.rb +13 -0
- data/db/migrate/20110909194606_remove_name_from_individuals_and_companies.rb +11 -0
- data/db/migrate/20110912153839_remove_contact_fields_from_individuals.rb +15 -0
- data/db/migrate/20110912160521_remove_contact_fields_from_companies.rb +15 -0
- data/db/migrate/20110912173117_add_contact_columns_to_people.rb +8 -0
- data/db/migrate/20110914221204_add_latitude_and_longitude_to_address.rb +6 -0
- data/db/migrate/20110919142728_add_default_to_correspondence_in_addresses.rb +9 -0
- data/db/migrate/20110922143914_remove_gender_id_from_people.rb +11 -0
- data/db/migrate/20110922175818_rename_individual_identities_to_identities.rb +5 -0
- data/db/migrate/20110929113404_add_code_to_states.rb +5 -0
- data/db/migrate/20111005135305_remove_ancestry_from_legal_natures.rb +9 -0
- data/db/migrate/20111005135734_add_awesome_nested_set_columns_to_legal_natures.rb +10 -0
- data/db/migrate/20111013002056_remove_gender_id_from_individuals.rb +6 -0
- data/db/migrate/20111013002322_drop_table_genders.rb +5 -0
- data/db/migrate/20111013011843_add_gender_to_individuals.rb +5 -0
- data/db/migrate/20111013033830_remove_default_from_countries.rb +5 -0
- data/db/migrate/20111013034546_remove_default_from_states.rb +5 -0
- data/db/migrate/20111013034922_remove_default_from_cities.rb +5 -0
- data/db/migrate/20111014190458_change_choose_simple_default_on_companies.rb +9 -0
- data/db/migrate/20111017063746_use_composited_index_for_addressable_on_addresses.rb +13 -0
- data/db/migrate/20111017065519_add_index_on_individual_id_on_identities.rb +5 -0
- data/db/migrate/20111017065533_add_index_on_state_id_on_identities.rb +5 -0
- data/db/migrate/20111017070508_use_composited_index_on_personable_on_people.rb +15 -0
- data/db/migrate/20111017071127_add_index_on_country_id_on_states.rb +5 -0
- data/db/migrate/20111018124812_remove_coordinates_from_addresses.rb +5 -0
- data/db/migrate/20111030170019_remove_default_flag_from_districts.rb +5 -0
- data/db/migrate/20111104192714_remove_column_prefectures_city_id.rb +5 -0
- data/db/migrate/20111105040503_remove_column_prefectures_acronym.rb +5 -0
- data/db/migrate/20111107162734_add_precision_to_condominiums_built_area.rb +5 -0
- data/db/migrate/20111107162816_add_precision_to_condominiums_area_common_user.rb +5 -0
- data/db/migrate/20111114165749_add_image_to_prefectures.rb +5 -0
- data/db/migrate/20111124121605_remove_column_addresses_address_type_id.rb +5 -0
- data/db/migrate/20111124121622_drop_table_address_types.rb +5 -0
- data/db/migrate/20111213130749_remove_column_states_code.rb +5 -0
- data/db/migrate/20111226113722_add_city_id_to_districts.rb +6 -0
- data/db/migrate/20111226122849_drop_table_address_tickets.rb +5 -0
- data/db/migrate/20111226124756_remove_neighboord_id_from_land_subdivisions.rb +5 -0
- data/db/migrate/20111226124852_remove_district_id_from_land_subdivisions.rb +5 -0
- data/db/migrate/20120124181637_add_level_to_legal_natures.rb +5 -0
- data/db/migrate/20120127104149_readd_code_to_states.rb +5 -0
- data/db/migrate/20120314224041_drop_table_condominium_types_and_associations.rb +8 -0
- data/db/migrate/20120314225506_add_condominium_type_to_condominiums.rb +5 -0
- data/db/migrate/20120315161607_remove_columns_to_condominiums.rb +13 -0
- data/db/migrate/20120315174647_remove_condominium_id_to_adressess.rb +9 -0
- data/db/migrate/20120315200108_add_condominium_id_to_addresses.rb +5 -0
- data/db/migrate/20120316124724_add_district_id_to_neighborhoods.rb +7 -0
- data/db/migrate/20120316171434_remove_district_id_to_addresses.rb +7 -0
- data/db/migrate/20120316174453_add_index_and_foreign_key_to_addresses.rb +6 -0
- data/db/migrate/20120321222453_move_partners_of_economic_registrations_to_company.rb +14 -0
- data/db/migrate/20120521141003_create_unico_countries.rb +5 -0
- data/db/migrate/20120521141007_create_unico_states.rb +5 -0
- data/db/migrate/20120521141013_create_unico_cities.rb +5 -0
- data/db/migrate/20120521141021_create_unico_districts.rb +5 -0
- data/db/migrate/20120521141103_create_unico_neighborhoods.rb +5 -0
- data/db/migrate/20120521191721_rename_neighborhoods_streets_to_streets_unico_neighborhoods.rb +5 -0
- data/db/migrate/20120530152810_rename_streets_to_unico_streets.rb +5 -0
- data/db/migrate/20120530152952_rename_streets_unico_neighborhoods_to_unico_neighborhoods_unico_streets.rb +5 -0
- data/db/migrate/20120530153640_rename_street_types_to_unico_street_types.rb +5 -0
- data/db/migrate/20120530162433_rename_land_subdivisions_to_unico_land_subdivisions.rb +5 -0
- data/db/migrate/20120530180410_rename_condominiums_to_unico_condominiums.rb +5 -0
- data/db/migrate/20120531114233_rename_unico_condominiums_to_unico_condominia.rb +5 -0
- data/db/migrate/20120531165934_rename_addresses_to_unico_addresses.rb +5 -0
- data/db/migrate/20120605101823_rename_company_sizes_to_unico_company_sizes.rb +5 -0
- data/db/migrate/20120605103033_rename_legal_natures_to_unico_legal_natures.rb +5 -0
- data/db/migrate/20120605202644_rename_people_to_unico_people.rb +5 -0
- data/db/migrate/20120605213011_rename_companies_to_unico_companies.rb +5 -0
- data/db/migrate/20120605213109_rename_identities_to_unico_identities.rb +5 -0
- data/db/migrate/20120605213241_rename_partners_to_unico_partners.rb +5 -0
- data/db/migrate/20120605215523_rename_individuals_to_unico_individuals.rb +5 -0
- data/db/migrate/20120614175605_rename_customers_to_unico_customers.rb +5 -0
- data/db/migrate/20120614183133_rename_prefectures_to_unico_prefectures.rb +5 -0
- data/db/migrate/20120620130440_add_benefited_to_company_sizes.rb +5 -0
- data/db/migrate/20120620164340_remove_benefited_from_company_sizes.rb +5 -0
- data/db/migrate/20120714152059_rename_currencies_to_unico_currencies.rb +5 -0
- data/db/migrate/20120723134307_migrate_address_to_person.rb +7 -0
- data/db/migrate/20120904235430_add_precision_to_unico_currencies.rb +5 -0
- data/db/migrate/20121019142850_create_unico_risk_degrees.rb +13 -0
- data/db/migrate/20121019151228_create_unico_cnaes.rb +18 -0
- data/db/migrate/20121025165054_add_city_id_to_unico_streets.rb +13 -0
- data/db/migrate/20121026125540_add_syndicated_affiliated_to_unico_companies.rb +5 -0
- data/db/migrate/20121108231044_add_marital_status_to_individual.rb +5 -0
- data/db/migrate/20121108231957_add_place_of_birth_to_individual.rb +9 -0
- data/db/migrate/20121113155708_add_trade_name_to_unico_companies.rb +5 -0
- data/db/migrate/20130204185551_add_code_to_unico_countries.rb +5 -0
- data/db/migrate/20130204185635_add_code_to_unico_street_types.rb +5 -0
- data/db/migrate/20130218100005_create_unico_occupation_classifications.rb +16 -0
- data/db/migrate/20130218191619_add_original_id_and_original_system_to_unico_people.rb +6 -0
- data/db/migrate/20130307185439_add_tce_mg_code_to_cities.rb +5 -0
- data/db/migrate/20130410130902_add_gist_index_to_unico_people.rb +18 -0
- data/db/migrate/20130410235225_add_gist_index_to_unico_occupation_classifications.rb +14 -0
- data/db/migrate/20130411162741_add_image_to_individual.rb +5 -0
- data/db/migrate/20130415204954_add_nationality_and_country_of_birth_id_to_unico_individuals.rb +8 -0
- data/db/migrate/20130415220244_add_index_on_country_of_birth_id_on_individuals.rb +5 -0
- data/db/migrate/20130418122109_add_secret_token_to_unico_customers.rb +10 -0
- data/db/migrate/20130425134706_add_column_inactive_to_addresses.rb +5 -0
- data/db/migrate/20130425134838_add_column_inactive_to_people.rb +5 -0
- data/db/migrate/20130425174621_add_column_inactive_to_streets.rb +5 -0
- data/db/migrate/20130517140021_add_column_uf_to_companies.rb +5 -0
- data/db/migrate/20130702112232_create_unico_regulatory_acts.rb +30 -0
- data/db/migrate/20130702144123_create_unico_communication_sources.rb +8 -0
- data/db/migrate/20130702151131_create_unico_dissemination_sources.rb +14 -0
- data/db/migrate/20130702152037_create_unico_dissemination_sources_unico_regulatory_acts.rb +18 -0
- data/db/migrate/20130703134328_create_unico_creditors.rb +25 -0
- data/db/migrate/20130705110811_create_unico_creditor_secondary_cnaes.rb +16 -0
- data/db/migrate/20130705134815_create_unico_creditor_representatives.rb +17 -0
- data/db/migrate/20130705143512_create_unico_creditor_balances.rb +21 -0
- data/db/migrate/20130705155916_create_unico_document_types.rb +11 -0
- data/db/migrate/20130705163831_create_unico_creditor_documents.rb +21 -0
- data/db/migrate/20130708140521_create_unico_banks.rb +10 -0
- data/db/migrate/20130708141313_create_unico_agencies.rb +18 -0
- data/db/migrate/20130708142321_create_unico_bank_accounts.rb +17 -0
- data/db/migrate/20130708150305_create_unico_creditor_bank_accounts.rb +22 -0
- data/db/migrate/20130708163542_create_unico_regularization_or_administrative_sanction_reasons.rb +9 -0
- data/db/migrate/20130708170709_create_unico_regularization_or_administrative_sanctions.rb +22 -0
- data/db/migrate/20130708180241_create_unico_registration_cadastral_certificates.rb +27 -0
- data/db/migrate/20130709175321_add_organ_responsible_for_registration_to_unico_creditors.rb +5 -0
- data/db/migrate/20130716143951_setup_unico_hstore.rb +9 -0
- data/db/migrate/20130716144626_add_custom_data_to_unico_creditor.rb +5 -0
- data/db/migrate/20130724132535_add_application_kind_closing_date_and_capability_kind_to_creditors.rb +7 -0
- data/db/migrate/20130725162650_add_state_acronym_to_prefecture.rb +6 -0
- data/db/migrate/20130731153025_create_missing_secret_token_for_customer.rb +9 -0
- data/db/migrate/20130911135646_change_rerulatory_act_type_on_regulatory_acts.rb +5 -0
- data/db/migrate/20131001170551_create_versions.rb +18 -0
- data/db/migrate/20131002191733_add_domain_to_prefecture.rb +5 -0
- data/db/migrate/20131023160005_add_time_zone_to_prefectures.rb +5 -0
- data/db/migrate/20140508085731_add_object_changes_to_versions.rb +5 -0
- data/db/migrate/20140515191425_add_disabled_to_customers.rb +5 -0
- data/db/migrate/20140730124639_create_unico_reference_units.rb +9 -0
- data/db/migrate/20140806124608_create_table_unico_material_classes.rb +16 -0
- data/db/migrate/20140806124639_change_acronym_from_unico_reference_units.rb +5 -0
- data/db/migrate/20140929200836_add_cpf_cnpj_to_people.rb +6 -0
- data/db/migrate/20140930083205_add_normalized_name_to_people.rb +5 -0
- data/db/migrate/20140930133849_migrate_data_of_people.rb +7 -0
- data/db/migrate/20140930165938_add_index_to_normalized_name_on_people.rb +5 -0
- data/db/migrate/20150716114056_add_inactive_to_address_tables.rb +7 -0
- data/db/migrate/20160520184356_create_unico_materials.rb +24 -0
- data/db/migrate/20161201184437_create_unico_similarity_controls.rb +15 -0
- data/db/migrate/20161201194536_create_unico_similarity_control_items.rb +18 -0
- data/db/migrate/20161202111046_create_unico_similarity_control_tables.rb +13 -0
- data/db/migrate/20161209113445_add_job_status_to_unico_similarity_controls.rb +7 -0
- data/db/migrate/20170404170636_add_cnh_to_unico_individuals.rb +6 -0
- data/db/migrate/20170503094509_change_mobile_limit_on_people.rb +5 -0
- data/db/migrate/20170724135645_add_active_column_to_unico_occupation_classifications.rb +5 -0
- data/db/migrate/20170726135645_create_occupation_groups.rb +10 -0
- data/db/migrate/20170726135646_create_occupation_main_groups.rb +15 -0
- data/db/migrate/20170726135647_create_occupation_subgroups.rb +15 -0
- data/db/migrate/20170727135648_create_occupation_base_groups.rb +15 -0
- data/db/migrate/20170727174947_add_occupation_base_group_to_occupation_classifications.rb +6 -0
- data/db/migrate/20170728135645_add_type_to_unico_occupation_classifications.rb +5 -0
- data/db/migrate/20170728135646_drop_constraint_on_unico_occupation_classifications.rb +5 -0
- data/db/migrate/20170728135647_remove_lft_rgt_from_occupation_classifications.rb +13 -0
- data/lib/active_record/block.rb +44 -0
- data/lib/active_record/filter.rb +63 -0
- data/lib/active_record/filters/base.rb +38 -0
- data/lib/active_record/filters/filter.rb +65 -0
- data/lib/active_record/modal.rb +42 -0
- data/lib/belongs_to_resource.rb +111 -0
- data/lib/custom_data.rb +131 -0
- data/lib/custom_data_query.rb +15 -0
- data/lib/custom_postgres_copy.rb +9 -0
- data/lib/extensions.rb +5 -0
- data/lib/import/files/cities.csv +5571 -0
- data/lib/import/files/cnaes.csv +2385 -0
- data/lib/import/files/company_sizes.csv +6 -0
- data/lib/import/files/countries.csv +329 -0
- data/lib/import/files/legal_natures.csv +72 -0
- data/lib/import/files/material_classes.csv +215 -0
- data/lib/import/files/occupation_base_groups.csv +618 -0
- data/lib/import/files/occupation_classifications.csv +10184 -0
- data/lib/import/files/occupation_groups.csv +11 -0
- data/lib/import/files/occupation_main_groups.csv +50 -0
- data/lib/import/files/occupation_subgroups.csv +196 -0
- data/lib/import/files/states.csv +28 -0
- data/lib/import/files/street_types.csv +130 -0
- data/lib/import/files/updated_street_types.csv +291 -0
- data/lib/importer_helper.rb +32 -0
- data/lib/inscriptio_cursualis.rb +3 -0
- data/lib/inscriptio_cursualis/model.rb +8 -0
- data/lib/persona.rb +3 -0
- data/lib/persona/model.rb +8 -0
- data/lib/simple_decorator.rb +7 -0
- data/lib/simple_decorator/base.rb +11 -0
- data/lib/simple_decorator/common_decorated.rb +78 -0
- data/lib/simple_decorator/header.rb +43 -0
- data/lib/simple_decorator/plug.rb +23 -0
- data/lib/simple_decorator/rails_helpers.rb +16 -0
- data/lib/street_type_updater.rb +60 -0
- data/lib/tasks/importers/address.rake +56 -0
- data/lib/tasks/importers/inscriptio_cursualis_all.rake +45 -0
- data/lib/tasks/importers/persona.rake +29 -0
- data/lib/tasks/importers/unico_all.rake +69 -0
- data/lib/tasks/updaters/city/tce_mg_code.rake +22 -0
- data/lib/tasks/updaters/street_type.rake +15 -0
- data/lib/time_zone.rb +15 -0
- data/lib/unico.rb +13 -0
- data/lib/unico/engine.rb +16 -0
- data/lib/unico/model.rb +8 -0
- data/lib/unico/version.rb +5 -0
- data/spec/business/similarity_control_adjuster_spec.rb +54 -0
- data/spec/business/similarity_control_checker_spec.rb +146 -0
- data/spec/fixtures/integraLogo.png +0 -0
- data/spec/lib/active_record/modal_spec.rb +27 -0
- data/spec/lib/persona/model_spec.rb +15 -0
- data/spec/lib/simple_decorator/base_spec.rb +49 -0
- data/spec/lib/simple_decorator/common_decorated_spec.rb +147 -0
- data/spec/lib/simple_decorator/header_spec.rb +164 -0
- data/spec/lib/simple_decorator/plug_spec.rb +64 -0
- data/spec/lib/street_type_updater_spec.rb +37 -0
- data/spec/lib/unico/model_spec.rb +15 -0
- data/spec/locale_helper.rb +37 -0
- data/spec/models/address_spec.rb +125 -0
- data/spec/models/agency_spec.rb +26 -0
- data/spec/models/bank_account_spec.rb +37 -0
- data/spec/models/bank_spec.rb +27 -0
- data/spec/models/city_spec.rb +20 -0
- data/spec/models/cnae_spec.rb +16 -0
- data/spec/models/communication_source_spec.rb +17 -0
- data/spec/models/company_size_spec.rb +17 -0
- data/spec/models/company_spec.rb +82 -0
- data/spec/models/condominium_spec.rb +14 -0
- data/spec/models/country_spec.rb +15 -0
- data/spec/models/creditor_balance_spec.rb +10 -0
- data/spec/models/creditor_bank_account_spec.rb +20 -0
- data/spec/models/creditor_document_spec.rb +60 -0
- data/spec/models/creditor_representative_spec.rb +8 -0
- data/spec/models/creditor_secondary_cnae_spec.rb +8 -0
- data/spec/models/creditor_spec.rb +38 -0
- data/spec/models/currency_spec.rb +28 -0
- data/spec/models/customer_spec.rb +26 -0
- data/spec/models/dissemination_source_spec.rb +28 -0
- data/spec/models/district_spec.rb +18 -0
- data/spec/models/document_type_spec.rb +11 -0
- data/spec/models/identity_spec.rb +20 -0
- data/spec/models/individual_spec.rb +60 -0
- data/spec/models/inscriptio_cursualis/address_spec.rb +7 -0
- data/spec/models/inscriptio_cursualis/city_spec.rb +7 -0
- data/spec/models/inscriptio_cursualis/condominium_spec.rb +7 -0
- data/spec/models/inscriptio_cursualis/country_spec.rb +7 -0
- data/spec/models/inscriptio_cursualis/district_spec.rb +7 -0
- data/spec/models/inscriptio_cursualis/land_subdivision_spec.rb +7 -0
- data/spec/models/inscriptio_cursualis/neighborhood_spec.rb +7 -0
- data/spec/models/inscriptio_cursualis/state_spec.rb +7 -0
- data/spec/models/inscriptio_cursualis/street_spec.rb +7 -0
- data/spec/models/inscriptio_cursualis/street_type_spec.rb +7 -0
- data/spec/models/land_subdivision_spec.rb +13 -0
- data/spec/models/legal_nature_spec.rb +14 -0
- data/spec/models/material_class_spec.rb +147 -0
- data/spec/models/material_spec.rb +25 -0
- data/spec/models/neighborhood_spec.rb +73 -0
- data/spec/models/occupation_base_group_spec.rb +18 -0
- data/spec/models/occupation_classification_spec.rb +17 -0
- data/spec/models/occupation_group_spec.rb +17 -0
- data/spec/models/occupation_main_group_spec.rb +18 -0
- data/spec/models/occupation_subgroup_spec.rb +18 -0
- data/spec/models/partner_spec.rb +24 -0
- data/spec/models/person_spec.rb +129 -0
- data/spec/models/persona/company_size_spec.rb +7 -0
- data/spec/models/persona/company_spec.rb +7 -0
- data/spec/models/persona/creditor_spec.rb +7 -0
- data/spec/models/persona/identity_spec.rb +7 -0
- data/spec/models/persona/individual_spec.rb +7 -0
- data/spec/models/persona/legal_nature_spec.rb +7 -0
- data/spec/models/persona/partner_spec.rb +7 -0
- data/spec/models/persona/person_spec.rb +7 -0
- data/spec/models/prefecture_spec.rb +48 -0
- data/spec/models/reference_unit_spec.rb +15 -0
- data/spec/models/registration_cadastral_certificate_spec.rb +77 -0
- data/spec/models/regularization_or_administrative_sanction_reason_spec.rb +14 -0
- data/spec/models/regularization_or_administrative_sanction_spec.rb +21 -0
- data/spec/models/regulatory_act_spec.rb +23 -0
- data/spec/models/risk_degree_spec.rb +16 -0
- data/spec/models/similarity_control_item_spec.rb +12 -0
- data/spec/models/similarity_control_spec.rb +30 -0
- data/spec/models/similarity_control_table_spec.rb +10 -0
- data/spec/models/state_spec.rb +18 -0
- data/spec/models/street_spec.rb +55 -0
- data/spec/models/street_type_spec.rb +16 -0
- data/spec/models/unico/agency_spec.rb +7 -0
- data/spec/models/unico/bank_account_spec.rb +7 -0
- data/spec/models/unico/bank_spec.rb +7 -0
- data/spec/models/unico/communication_source_spec.rb +7 -0
- data/spec/models/unico/creditor_balance_spec.rb +7 -0
- data/spec/models/unico/creditor_bank_account_spec.rb +7 -0
- data/spec/models/unico/creditor_document_spec.rb +7 -0
- data/spec/models/unico/creditor_representative_spec.rb +7 -0
- data/spec/models/unico/creditor_secondary_cnae_spec.rb +7 -0
- data/spec/models/unico/currency_spec.rb +7 -0
- data/spec/models/unico/customer_spec.rb +7 -0
- data/spec/models/unico/dissemination_source_spec.rb +7 -0
- data/spec/models/unico/document_type_spec.rb +7 -0
- data/spec/models/unico/material_class_spec.rb +7 -0
- data/spec/models/unico/material_spec.rb +7 -0
- data/spec/models/unico/prefecture_spec.rb +7 -0
- data/spec/models/unico/reference_unit_spec.rb +7 -0
- data/spec/models/unico/registration_cadastral_certificate_spec.rb +7 -0
- data/spec/models/unico/regularization_or_administrative_sanction_reason_spec.rb +7 -0
- data/spec/models/unico/regularization_or_administrative_sanction_spec.rb +7 -0
- data/spec/models/unico/regulatory_act_spec.rb +7 -0
- data/spec/models/unico/similarity_control_item_spec.rb +7 -0
- data/spec/models/unico/similarity_control_spec.rb +7 -0
- data/spec/models/unico/similarity_control_table_spec.rb +7 -0
- data/spec/spec_helper.rb +79 -0
- data/spec/uploaders/image_uploader_spec.rb +39 -0
- data/spec/uploaders/prefecture_logo_uploader_spec.rb +5 -0
- data/spec/validators/person_validator_spec.rb +56 -0
- data/unico.gemspec +40 -0
- metadata +979 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
module ImporterHelper
|
2
|
+
def self.run(&block)
|
3
|
+
customer = ENV['CUSTOMER_DOMAIN']
|
4
|
+
|
5
|
+
ActiveRecord::Base.transaction do
|
6
|
+
case customer
|
7
|
+
when 'ALL'
|
8
|
+
Customer.all.each do |customer_instance|
|
9
|
+
puts "Importing for the customer \"#{customer_instance}\"..."
|
10
|
+
|
11
|
+
Uploader.set_current_domain(customer_instance.domain)
|
12
|
+
|
13
|
+
customer_instance.using_connection do
|
14
|
+
block.call
|
15
|
+
end
|
16
|
+
|
17
|
+
puts "Imported for the customer \"#{customer_instance}\""
|
18
|
+
end
|
19
|
+
when nil
|
20
|
+
block.call
|
21
|
+
else
|
22
|
+
Uploader.set_current_domain(customer)
|
23
|
+
|
24
|
+
Customer.find_by_domain(customer).using_connection do
|
25
|
+
block.call
|
26
|
+
end
|
27
|
+
|
28
|
+
puts "Imported for the customer \"#{customer}\""
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/persona.rb
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
module SimpleDecorator
|
2
|
+
autoload :Base, 'simple_decorator/base'
|
3
|
+
autoload :Plug, 'simple_decorator/plug'
|
4
|
+
autoload :Header, 'simple_decorator/header'
|
5
|
+
autoload :CommonDecorated, 'simple_decorator/common_decorated'
|
6
|
+
autoload :RailsHelpers, 'simple_decorator/rails_helpers'
|
7
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
module SimpleDecorator
|
2
|
+
module CommonDecorated
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
class_attribute :decorated
|
7
|
+
end
|
8
|
+
|
9
|
+
module ClassMethods
|
10
|
+
def inherited(child)
|
11
|
+
self.decorated = child.name.sub(/Decorator$/, '').safe_constantize
|
12
|
+
|
13
|
+
child.with_precision *columns(:decimal)
|
14
|
+
child.translate *columns(:boolean)
|
15
|
+
child.localize *columns(:date)
|
16
|
+
child.localize *columns(:date), format: :long, sufix: '_in_words'
|
17
|
+
child.localize *columns(:datetime), format: :medium
|
18
|
+
child.localize *columns(:datetime), sufix: '_in_words'
|
19
|
+
child.humanize *enumerations
|
20
|
+
child.decorate *associations
|
21
|
+
end
|
22
|
+
|
23
|
+
def enumerations
|
24
|
+
Hash(decorated.try(:enumerations)).keys
|
25
|
+
end
|
26
|
+
|
27
|
+
def associations
|
28
|
+
columns(name: /_id$/).map { |name| name.sub(/_id$/, '') }
|
29
|
+
end
|
30
|
+
|
31
|
+
def columns(type = nil, name: nil)
|
32
|
+
columns = Array(decorated.try(:columns))
|
33
|
+
columns = columns.select { |column| column.type == type } if type
|
34
|
+
columns = columns.select { |column| column.name =~ name } if name
|
35
|
+
|
36
|
+
columns.map(&:name)
|
37
|
+
end
|
38
|
+
|
39
|
+
def with_precision(*attributes)
|
40
|
+
decorate *attributes do |value, options|
|
41
|
+
number_with_precision (value || 0), options
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def translate(*attributes)
|
46
|
+
decorate *attributes do |value, options|
|
47
|
+
translate value.to_s, options if value.to_s.present?
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def localize(*attributes)
|
52
|
+
decorate *attributes do |value, options|
|
53
|
+
localize value, options if value.present?
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def humanize(*attributes)
|
58
|
+
decorate *attributes do |_value, _options, attr|
|
59
|
+
component.send "#{attr}_humanize"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def decorate(*attributes, &block)
|
64
|
+
options = attributes.extract_options!
|
65
|
+
prefix = options.delete(:prefix)
|
66
|
+
sufix = options.delete(:sufix)
|
67
|
+
|
68
|
+
attributes.each do |attr|
|
69
|
+
define_method "#{prefix}#{attr}#{sufix}" do
|
70
|
+
value = component.send attr
|
71
|
+
|
72
|
+
block_given? ? instance_exec(value, options, attr, &block) : value.to_s
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module SimpleDecorator
|
2
|
+
module Header
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
class_attribute :header_attributes
|
7
|
+
class_attribute :header_link_attributes
|
8
|
+
class_attribute :header_actions
|
9
|
+
class_attribute :link_path
|
10
|
+
end
|
11
|
+
|
12
|
+
module ClassMethods
|
13
|
+
def attr_header(*attributes)
|
14
|
+
options = attributes.extract_options!
|
15
|
+
|
16
|
+
self.header_attributes = set attributes
|
17
|
+
self.header_link_attributes = set options.fetch(:link, attributes.first)
|
18
|
+
self.header_actions = set options[:list_actions]
|
19
|
+
self.link_path = options.fetch(:link_path, :edit_resource_path)
|
20
|
+
end
|
21
|
+
|
22
|
+
def link?(field)
|
23
|
+
headers? && header_link_attributes.include?(field)
|
24
|
+
end
|
25
|
+
|
26
|
+
def list_action?(action)
|
27
|
+
list_actions? && header_actions.include?(action)
|
28
|
+
end
|
29
|
+
|
30
|
+
def headers?
|
31
|
+
header_attributes.present?
|
32
|
+
end
|
33
|
+
|
34
|
+
def list_actions?
|
35
|
+
header_actions.present?
|
36
|
+
end
|
37
|
+
|
38
|
+
def set(params)
|
39
|
+
Set.new Array(params).map(&:to_sym)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module SimpleDecorator
|
2
|
+
module Plug
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
def decorator
|
6
|
+
self.class.decorator.new self if decorated?
|
7
|
+
end
|
8
|
+
|
9
|
+
def decorated?
|
10
|
+
self.class.decorated?
|
11
|
+
end
|
12
|
+
|
13
|
+
module ClassMethods
|
14
|
+
def decorator
|
15
|
+
"#{name}Decorator".safe_constantize
|
16
|
+
end
|
17
|
+
|
18
|
+
def decorated?
|
19
|
+
decorator.present?
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module SimpleDecorator
|
2
|
+
module RailsHelpers
|
3
|
+
include ActionView::Helpers::NumberHelper
|
4
|
+
include ActionView::Helpers::TranslationHelper
|
5
|
+
|
6
|
+
# Rails +try+ is delegated to component instead calling it on delegator itself.
|
7
|
+
# https://github.com/rails/rails/commit/2575508a385f4a8003ea1277025c018583971e1d
|
8
|
+
def try(*args, &block)
|
9
|
+
if args.empty? && block_given?
|
10
|
+
yield self
|
11
|
+
else
|
12
|
+
public_send *args, &block if respond_to? args.first
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'csv'
|
2
|
+
|
3
|
+
class StreetTypeUpdater
|
4
|
+
def self.update!
|
5
|
+
new.update!
|
6
|
+
end
|
7
|
+
|
8
|
+
def initialize(repository = StreetType)
|
9
|
+
self.repository = repository
|
10
|
+
end
|
11
|
+
|
12
|
+
def update!
|
13
|
+
transaction do
|
14
|
+
parser.foreach(file, options) do |row|
|
15
|
+
attributes = row.to_hash.symbolize_keys!
|
16
|
+
|
17
|
+
code = attributes[:code]
|
18
|
+
name = attributes[:name]
|
19
|
+
|
20
|
+
record = repository.find_by(code: code)
|
21
|
+
|
22
|
+
if record.present? && name_differs?(record.name, name)
|
23
|
+
record.update_column(:name, name.capitalize)
|
24
|
+
else
|
25
|
+
repository.new(code: code, name: name.capitalize).tap do |street_type|
|
26
|
+
street_type.save(validate: false)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
protected
|
34
|
+
|
35
|
+
attr_accessor :repository
|
36
|
+
|
37
|
+
def transaction(&block)
|
38
|
+
repository.transaction(&block)
|
39
|
+
end
|
40
|
+
|
41
|
+
def parser
|
42
|
+
CSV
|
43
|
+
end
|
44
|
+
|
45
|
+
def options
|
46
|
+
{ col_sep: ',', headers: true, encoding: 'utf-8' }
|
47
|
+
end
|
48
|
+
|
49
|
+
def file
|
50
|
+
"#{Unico::Engine.config.root}/lib/import/files/updated_street_types.csv"
|
51
|
+
end
|
52
|
+
|
53
|
+
def name_differs?(name_founded, name)
|
54
|
+
unaccent(name_founded) != unaccent(name)
|
55
|
+
end
|
56
|
+
|
57
|
+
def unaccent(value)
|
58
|
+
value.mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/n, '').downcase.to_s
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'importer_helper'
|
2
|
+
require 'postgres-copy'
|
3
|
+
require 'custom_postgres_copy'
|
4
|
+
|
5
|
+
namespace :import do
|
6
|
+
namespace :address do
|
7
|
+
desc 'Import Countries, States, Cities and StreetTypes'
|
8
|
+
task all: :environment do
|
9
|
+
include CustomPostgresCopy
|
10
|
+
|
11
|
+
ImporterHelper.run do
|
12
|
+
unless Country.any?
|
13
|
+
puts 'Importing countries'
|
14
|
+
|
15
|
+
make_copy(Country, 'lib/import/files/countries.csv')
|
16
|
+
|
17
|
+
puts 'Done!'
|
18
|
+
end
|
19
|
+
|
20
|
+
unless State.any?
|
21
|
+
puts 'Importing states'
|
22
|
+
|
23
|
+
make_copy(State, 'lib/import/files/states.csv')
|
24
|
+
|
25
|
+
puts 'Done!'
|
26
|
+
end
|
27
|
+
|
28
|
+
unless City.any?
|
29
|
+
puts 'Importing cities'
|
30
|
+
|
31
|
+
make_copy(City, 'lib/import/files/cities.csv')
|
32
|
+
|
33
|
+
puts 'Done!'
|
34
|
+
end
|
35
|
+
|
36
|
+
begin
|
37
|
+
unless StreetType.any?
|
38
|
+
puts 'Importing street types'
|
39
|
+
|
40
|
+
make_copy(StreetType, 'lib/import/files/street_types.csv')
|
41
|
+
|
42
|
+
puts 'Done!'
|
43
|
+
end
|
44
|
+
ensure
|
45
|
+
if StreetType.any?
|
46
|
+
puts 'Updating street types'
|
47
|
+
|
48
|
+
StreetTypeUpdater.update!
|
49
|
+
|
50
|
+
puts 'Done!'
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'importer_helper'
|
2
|
+
require 'postgres-copy'
|
3
|
+
|
4
|
+
namespace :import do
|
5
|
+
namespace :inscriptio_cursualis do
|
6
|
+
desc 'Import Countries, States, Cities and StreetTypes'
|
7
|
+
task all: :environment do
|
8
|
+
include CustomPostgresCopy
|
9
|
+
|
10
|
+
ImporterHelper.run do
|
11
|
+
unless Country.any?
|
12
|
+
puts 'Importing countries'
|
13
|
+
|
14
|
+
make_copy(Country, 'lib/import/files/countries.csv')
|
15
|
+
|
16
|
+
puts 'Done!'
|
17
|
+
end
|
18
|
+
|
19
|
+
unless State.any?
|
20
|
+
puts 'Importing states'
|
21
|
+
|
22
|
+
make_copy(State, 'lib/import/files/states.csv')
|
23
|
+
|
24
|
+
puts 'Done!'
|
25
|
+
end
|
26
|
+
|
27
|
+
unless City.any?
|
28
|
+
puts 'Importing cities'
|
29
|
+
|
30
|
+
make_copy(City, 'lib/import/files/cities.csv')
|
31
|
+
|
32
|
+
puts 'Done!'
|
33
|
+
end
|
34
|
+
|
35
|
+
unless StreetType.any?
|
36
|
+
puts 'Importing street types'
|
37
|
+
|
38
|
+
make_copy(StreetType, 'lib/import/files/street_types.csv')
|
39
|
+
|
40
|
+
puts 'Done!'
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'importer_helper'
|
2
|
+
require 'postgres-copy'
|
3
|
+
|
4
|
+
namespace :import do
|
5
|
+
namespace :persona do
|
6
|
+
desc 'Import all rakes for Persona'
|
7
|
+
task all: :environment do
|
8
|
+
include CustomPostgresCopy
|
9
|
+
|
10
|
+
ImporterHelper.run do
|
11
|
+
unless CompanySize.any?
|
12
|
+
puts 'Importing company sizes...'
|
13
|
+
|
14
|
+
make_copy(CompanySize, 'lib/import/files/company_sizes.csv')
|
15
|
+
|
16
|
+
puts 'Done!'
|
17
|
+
end
|
18
|
+
|
19
|
+
unless LegalNature.any?
|
20
|
+
puts 'Importing legal natures'
|
21
|
+
|
22
|
+
make_copy(LegalNature, 'lib/import/files/legal_natures.csv')
|
23
|
+
|
24
|
+
puts 'Done!'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|