Class: Facilities::NCAFacility
- Inherits:
-
BaseFacility
- Object
- ActiveRecord::Base
- ApplicationRecord
- BaseFacility
- Facilities::NCAFacility
- Defined in:
- app/models/facilities/nca_facility.rb
Constant Summary
Constants inherited from BaseFacility
BaseFacility::BENEFITS, BaseFacility::CEMETERY, BaseFacility::DAYS, BaseFacility::DOD_HEALTH, BaseFacility::FACILITY_MAPPINGS, BaseFacility::HEALTH, BaseFacility::HOURS_STANDARD_MAP, BaseFacility::PENSION_LOCATIONS, BaseFacility::PREFIX_MAP, BaseFacility::TYPES, BaseFacility::TYPE_MAP, BaseFacility::TYPE_NAME_MAP, BaseFacility::VET_CENTER, BaseFacility::YES
Class Method Summary collapse
- .add_websites(facilities) ⇒ Object
- .arcgis_type ⇒ Object
- .attribute_map ⇒ Object
- .get_all_the_facilities_data ⇒ Object
- .pull_source_data ⇒ Object
- .service_list ⇒ Object
- .sort_field ⇒ Object
Methods inherited from BaseFacility
#facility_type_prefix, find_facility_by_id, find_sti_class, max_per_page, per_page, query, sti_name, suggested, to_date
Methods inherited from ApplicationRecord
descendants_using_encryption, lockbox_options, #timestamp_attributes_for_update_in_model, #valid?
Class Method Details
.add_websites(facilities) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'app/models/facilities/nca_facility.rb', line 20 def add_websites(facilities) service = Facilities::WebsiteUrlService.new facilities.map do |fac| unique_id = fac['unique_id'].sub(/^0/, '') fac['website'] = service.find_for_station(unique_id, sti_name) fac end end |
.arcgis_type ⇒ Object
33 34 35 |
# File 'app/models/facilities/nca_facility.rb', line 33 def arcgis_type 'NCA_Facilities' end |
.attribute_map ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'app/models/facilities/nca_facility.rb', line 41 def attribute_map { 'unique_id' => 'SITE_ID', 'name' => 'FULL_NAME', 'classification' => 'SITE_TYPE', 'phone' => { 'main' => 'PHONE', 'fax' => 'FAX' }, 'physical' => { 'address_1' => 'SITE_ADDRESS1', 'address_2' => 'SITE_ADDRESS2', 'address_3' => '', 'city' => 'SITE_CITY', 'state' => 'SITE_STATE', 'zip' => 'SITE_ZIP' }, 'mailing' => { 'address_1' => 'MAIL_ADDRESS1', 'address_2' => 'MAIL_ADDRESS2', 'address_3' => '', 'city' => 'MAIL_CITY', 'state' => 'MAIL_STATE', 'zip' => 'MAIL_ZIP' }, 'hours' => { 'Monday' => 'VISITATION_HOURS_WEEKDAY', 'Tuesday' => 'VISITATION_HOURS_WEEKDAY', 'Wednesday' => 'VISITATION_HOURS_WEEKDAY', 'Thursday' => 'VISITATION_HOURS_WEEKDAY', 'Friday' => 'VISITATION_HOURS_WEEKDAY', 'Saturday' => 'VISITATION_HOURS_WEEKEND', 'Sunday' => 'VISITATION_HOURS_WEEKEND' }, 'mapped_fields' => %w[SITE_ID FULL_NAME SITE_TYPE Website_URL SITE_ADDRESS1 SITE_ADDRESS2 SITE_CITY SITE_STATE SITE_ZIP MAIL_ADDRESS1 MAIL_ADDRESS2 MAIL_CITY MAIL_STATE MAIL_ZIP PHONE FAX VISITATION_HOURS_WEEKDAY VISITATION_HOURS_WEEKEND] } end |
.get_all_the_facilities_data ⇒ Object
13 14 15 16 17 18 |
# File 'app/models/facilities/nca_facility.rb', line 13 def get_all_the_facilities_data = Facilities::Metadata::Client.new.(arcgis_type) max_record_count = ['maxRecordCount'] resp = Facilities::Client.new.get_all_facilities(arcgis_type, sort_field, max_record_count) add_websites(resp) end |
.pull_source_data ⇒ Object
9 10 11 |
# File 'app/models/facilities/nca_facility.rb', line 9 def pull_source_data get_all_the_facilities_data.map(&method(:new)) end |
.service_list ⇒ Object
29 30 31 |
# File 'app/models/facilities/nca_facility.rb', line 29 def service_list [] end |
.sort_field ⇒ Object
37 38 39 |
# File 'app/models/facilities/nca_facility.rb', line 37 def sort_field 'SITE_ID' end |