reso 0.1.6.7 → 0.2.2
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 +5 -5
- data/.gitignore +11 -17
- data/.rspec +3 -0
- data/.travis.yml +7 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +4 -1
- data/Gemfile.lock +60 -0
- data/LICENSE.txt +17 -18
- data/README.md +19 -125
- data/Rakefile +5 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/generators/reso/install/install_generator.rb +23 -0
- data/lib/generators/reso/install/templates/create_reso_enumeration_assignments.rb +14 -0
- data/lib/generators/reso/install/templates/create_reso_enumerations.rb +12 -0
- data/lib/reso/app/models/.DS_Store +0 -0
- data/lib/reso/app/models/application_record.rb +3 -0
- data/lib/reso/app/models/reso/contact.rb +3 -0
- data/lib/reso/app/models/reso/contact_listing.rb +3 -0
- data/lib/reso/app/models/reso/contact_listing_note.rb +3 -0
- data/lib/reso/app/models/reso/data_dictionary.rb +124 -0
- data/lib/reso/app/models/reso/enumeration.rb +3 -0
- data/lib/reso/app/models/reso/enumeration_assignment.rb +4 -0
- data/lib/reso/app/models/reso/history_transactional.rb +3 -0
- data/lib/reso/app/models/reso/internet_tracking/actor.rb +6 -0
- data/lib/reso/app/models/reso/internet_tracking/event.rb +6 -0
- data/lib/reso/app/models/reso/internet_tracking/object.rb +6 -0
- data/lib/reso/app/models/reso/internet_tracking.rb +7 -0
- data/lib/reso/app/models/reso/lookup/accessibility_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/actor_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/appliance.rb +4 -0
- data/lib/reso/app/models/reso/lookup/area_source.rb +6 -0
- data/lib/reso/app/models/reso/lookup/area_unit.rb +5 -0
- data/lib/reso/app/models/reso/lookup/association_amenity.rb +4 -0
- data/lib/reso/app/models/reso/lookup/association_fee_include.rb +5 -0
- data/lib/reso/app/models/reso/lookup/attended.rb +4 -0
- data/lib/reso/app/models/reso/lookup/basement.rb +5 -0
- data/lib/reso/app/models/reso/lookup/body_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/business_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/buyer_agent_designation.rb +5 -0
- data/lib/reso/app/models/reso/lookup/buyer_financing.rb +4 -0
- data/lib/reso/app/models/reso/lookup/change_type.rb +5 -0
- data/lib/reso/app/models/reso/lookup/class_name.rb +4 -0
- data/lib/reso/app/models/reso/lookup/co_buyer_agent_designation.rb +4 -0
- data/lib/reso/app/models/reso/lookup/co_list_agent_designation.rb +4 -0
- data/lib/reso/app/models/reso/lookup/common_interest.rb +4 -0
- data/lib/reso/app/models/reso/lookup/common_wall.rb +4 -0
- data/lib/reso/app/models/reso/lookup/community_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/compensation_type.rb +8 -0
- data/lib/reso/app/models/reso/lookup/concession.rb +4 -0
- data/lib/reso/app/models/reso/lookup/construction_material.rb +4 -0
- data/lib/reso/app/models/reso/lookup/contact_listing_preference.rb +4 -0
- data/lib/reso/app/models/reso/lookup/contact_status.rb +4 -0
- data/lib/reso/app/models/reso/lookup/contact_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/cooling.rb +4 -0
- data/lib/reso/app/models/reso/lookup/current_financing.rb +4 -0
- data/lib/reso/app/models/reso/lookup/current_use.rb +4 -0
- data/lib/reso/app/models/reso/lookup/daily_schedule.rb +4 -0
- data/lib/reso/app/models/reso/lookup/development_status.rb +4 -0
- data/lib/reso/app/models/reso/lookup/device_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/direction_face.rb +4 -0
- data/lib/reso/app/models/reso/lookup/door_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/electric.rb +4 -0
- data/lib/reso/app/models/reso/lookup/event_target.rb +4 -0
- data/lib/reso/app/models/reso/lookup/event_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/existing_lease_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/exterior_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/fencing.rb +4 -0
- data/lib/reso/app/models/reso/lookup/financial_data_source.rb +4 -0
- data/lib/reso/app/models/reso/lookup/fireplace_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/flooring.rb +4 -0
- data/lib/reso/app/models/reso/lookup/foundation_detail.rb +4 -0
- data/lib/reso/app/models/reso/lookup/frontage_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/furnished.rb +4 -0
- data/lib/reso/app/models/reso/lookup/green_building_verification_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/green_energy_efficient.rb +4 -0
- data/lib/reso/app/models/reso/lookup/green_energy_generation.rb +4 -0
- data/lib/reso/app/models/reso/lookup/green_indoor_air_quality.rb +4 -0
- data/lib/reso/app/models/reso/lookup/green_sustainability.rb +4 -0
- data/lib/reso/app/models/reso/lookup/green_water_conservation.rb +4 -0
- data/lib/reso/app/models/reso/lookup/heating.rb +4 -0
- data/lib/reso/app/models/reso/lookup/horse_amenity.rb +4 -0
- data/lib/reso/app/models/reso/lookup/hours_days_of_operation.rb +4 -0
- data/lib/reso/app/models/reso/lookup/image_of.rb +4 -0
- data/lib/reso/app/models/reso/lookup/income_include.rb +4 -0
- data/lib/reso/app/models/reso/lookup/labor_information.rb +4 -0
- data/lib/reso/app/models/reso/lookup/laundry_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/lease_renewal_compensation.rb +4 -0
- data/lib/reso/app/models/reso/lookup/lease_term.rb +4 -0
- data/lib/reso/app/models/reso/lookup/list_agent_designation.rb +4 -0
- data/lib/reso/app/models/reso/lookup/listing_agreement.rb +4 -0
- data/lib/reso/app/models/reso/lookup/listing_service.rb +4 -0
- data/lib/reso/app/models/reso/lookup/listing_term.rb +4 -0
- data/lib/reso/app/models/reso/lookup/lock_box_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/lot_dimensions_source.rb +4 -0
- data/lib/reso/app/models/reso/lookup/lot_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/lot_size_source.rb +4 -0
- data/lib/reso/app/models/reso/lookup/lot_size_unit.rb +4 -0
- data/lib/reso/app/models/reso/lookup/media_category.rb +4 -0
- data/lib/reso/app/models/reso/lookup/media_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/member_designation.rb +4 -0
- data/lib/reso/app/models/reso/lookup/member_other_phone_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/member_status.rb +4 -0
- data/lib/reso/app/models/reso/lookup/member_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/noted_by.rb +4 -0
- data/lib/reso/app/models/reso/lookup/object_id_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/object_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/occupant_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/open_house_status.rb +4 -0
- data/lib/reso/app/models/reso/lookup/open_house_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/operating_expense_include.rb +4 -0
- data/lib/reso/app/models/reso/lookup/other_equipment.rb +4 -0
- data/lib/reso/app/models/reso/lookup/other_structure.rb +4 -0
- data/lib/reso/app/models/reso/lookup/owner_pay.rb +4 -0
- data/lib/reso/app/models/reso/lookup/ownership_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/parking_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/patio_and_porch_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/permission.rb +4 -0
- data/lib/reso/app/models/reso/lookup/pets_allowed.rb +4 -0
- data/lib/reso/app/models/reso/lookup/pool_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/possession.rb +4 -0
- data/lib/reso/app/models/reso/lookup/possible_use.rb +4 -0
- data/lib/reso/app/models/reso/lookup/property_condition.rb +4 -0
- data/lib/reso/app/models/reso/lookup/property_sub_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/property_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/queue_transaction_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/reason_active_or_disabled.rb +4 -0
- data/lib/reso/app/models/reso/lookup/rent_include.rb +4 -0
- data/lib/reso/app/models/reso/lookup/road_frontage_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/road_responsibility.rb +4 -0
- data/lib/reso/app/models/reso/lookup/road_surface_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/roof.rb +4 -0
- data/lib/reso/app/models/reso/lookup/rule_format.rb +4 -0
- data/lib/reso/app/models/reso/lookup/schedule_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/search_query_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/security_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/sewer.rb +4 -0
- data/lib/reso/app/models/reso/lookup/showing_contact_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/showing_requirement.rb +4 -0
- data/lib/reso/app/models/reso/lookup/skirt.rb +4 -0
- data/lib/reso/app/models/reso/lookup/spa_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/special_license.rb +4 -0
- data/lib/reso/app/models/reso/lookup/special_listing_condition.rb +4 -0
- data/lib/reso/app/models/reso/lookup/standard_status.rb +4 -0
- data/lib/reso/app/models/reso/lookup/street_direction.rb +4 -0
- data/lib/reso/app/models/reso/lookup/structure_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/syndicate_to.rb +4 -0
- data/lib/reso/app/models/reso/lookup/tax_status_current.rb +4 -0
- data/lib/reso/app/models/reso/lookup/team_member_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/team_status.rb +4 -0
- data/lib/reso/app/models/reso/lookup/tenant_pay.rb +4 -0
- data/lib/reso/app/models/reso/lookup/unit_type_type.rb +4 -0
- data/lib/reso/app/models/reso/lookup/units_furnished.rb +4 -0
- data/lib/reso/app/models/reso/lookup/utility.rb +4 -0
- data/lib/reso/app/models/reso/lookup/vegetation.rb +4 -0
- data/lib/reso/app/models/reso/lookup/view.rb +4 -0
- data/lib/reso/app/models/reso/lookup/water_source.rb +4 -0
- data/lib/reso/app/models/reso/lookup/waterfront_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/window_feature.rb +4 -0
- data/lib/reso/app/models/reso/lookup/year_built_source.rb +4 -0
- data/lib/reso/app/models/reso/lookup.rb +2 -0
- data/lib/reso/app/models/reso/media.rb +3 -0
- data/lib/reso/app/models/reso/member.rb +3 -0
- data/lib/reso/app/models/reso/office.rb +3 -0
- data/lib/reso/app/models/reso/open_house.rb +3 -0
- data/lib/reso/app/models/reso/other_phone.rb +3 -0
- data/lib/reso/app/models/reso/ouid.rb +3 -0
- data/lib/reso/app/models/reso/property/business.rb +6 -0
- data/lib/reso/app/models/reso/property/characteristic.rb +9 -0
- data/lib/reso/app/models/reso/property/equipment.rb +5 -0
- data/lib/reso/app/models/reso/property/farming.rb +9 -0
- data/lib/reso/app/models/reso/property/financial.rb +9 -0
- data/lib/reso/app/models/reso/property/hoa.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/agent_office/buyer_agent.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/agent_office/buyer_office.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/agent_office/co_buyer_agent.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/agent_office/co_buyer_office.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/agent_office/co_list_agent.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/agent_office/co_list_office.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/agent_office/list_agent.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/agent_office/list_office.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/agent_office/team.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/agent_office.rb +15 -0
- data/lib/reso/app/models/reso/property/listing/closing.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/compensation.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/contract.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/date.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/marketing.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/media.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/price.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/remark.rb +6 -0
- data/lib/reso/app/models/reso/property/listing/showing.rb +6 -0
- data/lib/reso/app/models/reso/property/listing.rb +17 -0
- data/lib/reso/app/models/reso/property/location/address.rb +6 -0
- data/lib/reso/app/models/reso/property/location/area.rb +6 -0
- data/lib/reso/app/models/reso/property/location/gis.rb +6 -0
- data/lib/reso/app/models/reso/property/location/school.rb +6 -0
- data/lib/reso/app/models/reso/property/location.rb +10 -0
- data/lib/reso/app/models/reso/property/occupant_owner.rb +6 -0
- data/lib/reso/app/models/reso/property/structure/performance/green_marketing.rb +6 -0
- data/lib/reso/app/models/reso/property/structure/performance/green_verification.rb +6 -0
- data/lib/reso/app/models/reso/property/structure/performance.rb +7 -0
- data/lib/reso/app/models/reso/property/structure/room.rb +6 -0
- data/lib/reso/app/models/reso/property/structure.rb +11 -0
- data/lib/reso/app/models/reso/property/tax.rb +6 -0
- data/lib/reso/app/models/reso/property/unit_type.rb +9 -0
- data/lib/reso/app/models/reso/property/utility.rb +12 -0
- data/lib/reso/app/models/reso/property.rb +22 -0
- data/lib/reso/app/models/reso/property_agent_office.rb +2 -0
- data/lib/reso/app/models/reso/property_green_verification.rb +3 -0
- data/lib/reso/app/models/reso/property_location.rb +2 -0
- data/lib/reso/app/models/reso/property_performance.rb +2 -0
- data/lib/reso/app/models/reso/property_power_production.rb +3 -0
- data/lib/reso/app/models/reso/property_room.rb +3 -0
- data/lib/reso/app/models/reso/property_unit_type.rb +3 -0
- data/lib/reso/app/models/reso/prospecting.rb +3 -0
- data/lib/reso/app/models/reso/queue.rb +48 -0
- data/lib/reso/app/models/reso/rule.rb +85 -0
- data/lib/reso/app/models/reso/saved_search.rb +3 -0
- data/lib/reso/app/models/reso/showing/agent.rb +6 -0
- data/lib/reso/app/models/reso/showing/listing.rb +6 -0
- data/lib/reso/app/models/reso/showing.rb +7 -0
- data/lib/reso/app/models/reso/social_media.rb +3 -0
- data/lib/reso/app/models/reso/team.rb +7 -0
- data/lib/reso/app/models/reso/team_member.rb +3 -0
- data/lib/reso/config/inflections.rb +10 -0
- data/lib/reso/config/initializers/enumeration_assignments.rb +374 -0
- data/lib/reso/railtie.rb +5 -0
- data/lib/reso/version.rb +2 -2
- data/lib/reso.rb +215 -8
- data/reso-1.7.xml +109899 -0
- data/reso.gemspec +20 -20
- metadata +259 -159
- data/app/controllers/syndication_controller.rb +0 -5
- data/app/models/.keep +0 -0
- data/app/models/address.rb +0 -25
- data/app/models/address_type.rb +0 -3
- data/app/models/alternate_price.rb +0 -2
- data/app/models/appliance.rb +0 -3
- data/app/models/architecture_style.rb +0 -5
- data/app/models/area_unit.rb +0 -2
- data/app/models/brokerage.rb +0 -4
- data/app/models/builder.rb +0 -4
- data/app/models/business.rb +0 -8
- data/app/models/community.rb +0 -5
- data/app/models/cooling_system.rb +0 -3
- data/app/models/county.rb +0 -5
- data/app/models/currency_period.rb +0 -3
- data/app/models/enumeration.rb +0 -7
- data/app/models/expense.rb +0 -6
- data/app/models/expense_category.rb +0 -2
- data/app/models/exterior_type.rb +0 -3
- data/app/models/floor_covering.rb +0 -3
- data/app/models/foreclosure_status.rb +0 -5
- data/app/models/franchise.rb +0 -4
- data/app/models/gender.rb +0 -3
- data/app/models/heating_fuel.rb +0 -3
- data/app/models/heating_system.rb +0 -3
- data/app/models/home_feature.rb +0 -3
- data/app/models/import.rb +0 -153
- data/app/models/import_format.rb +0 -3
- data/app/models/import_result.rb +0 -12
- data/app/models/license_category.rb +0 -2
- data/app/models/listing.rb +0 -64
- data/app/models/listing_category.rb +0 -5
- data/app/models/listing_media.rb +0 -6
- data/app/models/listing_provider.rb +0 -9
- data/app/models/listing_status.rb +0 -5
- data/app/models/multiple_listing_service.rb +0 -5
- data/app/models/neighborhood.rb +0 -3
- data/app/models/office.rb +0 -6
- data/app/models/open_house.rb +0 -4
- data/app/models/parking.rb +0 -3
- data/app/models/participant.rb +0 -5
- data/app/models/participant_license.rb +0 -8
- data/app/models/participant_role.rb +0 -3
- data/app/models/person.rb +0 -18
- data/app/models/photo.rb +0 -3
- data/app/models/place.rb +0 -3
- data/app/models/price.rb +0 -4
- data/app/models/property_sub_type.rb +0 -5
- data/app/models/property_type.rb +0 -5
- data/app/models/queued_listing.rb +0 -31
- data/app/models/roof_type.rb +0 -3
- data/app/models/room.rb +0 -4
- data/app/models/room_category.rb +0 -2
- data/app/models/school.rb +0 -3
- data/app/models/school_category.rb +0 -2
- data/app/models/source_provider_category.rb +0 -2
- data/app/models/tax.rb +0 -3
- data/app/models/video.rb +0 -3
- data/app/models/view_type.rb +0 -3
- data/app/models/virtual_tour.rb +0 -3
- data/app/views/syndication/rets.xml.erb +0 -325
- data/lib/class_extensions.rb +0 -53
- data/lib/generators/reso/install_generator.rb +0 -45
- data/lib/generators/reso/setup.rb +0 -37
- data/lib/generators/reso/templates/create_addresses.rb +0 -33
- data/lib/generators/reso/templates/create_businesses.rb +0 -18
- data/lib/generators/reso/templates/create_enumerations.rb +0 -13
- data/lib/generators/reso/templates/create_expenses.rb +0 -13
- data/lib/generators/reso/templates/create_import_results.rb +0 -16
- data/lib/generators/reso/templates/create_imports.rb +0 -19
- data/lib/generators/reso/templates/create_join_tables.rb +0 -27
- data/lib/generators/reso/templates/create_listing_media.rb +0 -18
- data/lib/generators/reso/templates/create_listing_providers.rb +0 -13
- data/lib/generators/reso/templates/create_listings.rb +0 -111
- data/lib/generators/reso/templates/create_multiple_listing_services.rb +0 -11
- data/lib/generators/reso/templates/create_offices.rb +0 -29
- data/lib/generators/reso/templates/create_open_houses.rb +0 -18
- data/lib/generators/reso/templates/create_participant_licenses.rb +0 -13
- data/lib/generators/reso/templates/create_participants.rb +0 -26
- data/lib/generators/reso/templates/create_people.rb +0 -18
- data/lib/generators/reso/templates/create_places.rb +0 -20
- data/lib/generators/reso/templates/create_prices.rb +0 -19
- data/lib/generators/reso/templates/create_queued_listings.rb +0 -10
- data/lib/generators/reso/templates/create_rooms.rb +0 -10
- data/lib/generators/reso/templates/create_schools.rb +0 -13
- data/lib/generators/reso/templates/create_taxes.rb +0 -12
- data/lib/generators/reso/templates/enumerations.csv +0 -748
- data/lib/generators/reso/templates/reso.rake +0 -142
- data/lib/mapper/reso.rb +0 -617
- data/lib/mapper.rb +0 -274
- data/lib/reso/engine.rb +0 -13
- data/lib/reso/railties/reso.rake +0 -38
data/lib/mapper.rb
DELETED
@@ -1,274 +0,0 @@
|
|
1
|
-
module Mapper
|
2
|
-
RESO_LISTING_ATTRIBUTES = %w(
|
3
|
-
address
|
4
|
-
alternate_prices
|
5
|
-
appliances
|
6
|
-
architecture_style
|
7
|
-
architecture_style_description
|
8
|
-
bathrooms
|
9
|
-
bedrooms
|
10
|
-
brokerage
|
11
|
-
builder
|
12
|
-
building_unit_count
|
13
|
-
condo_floor_num
|
14
|
-
cooling_systems
|
15
|
-
county
|
16
|
-
currency_code
|
17
|
-
directions
|
18
|
-
disclaimer
|
19
|
-
disclose_address
|
20
|
-
elevation
|
21
|
-
expenses
|
22
|
-
exterior_types
|
23
|
-
floor_coverings
|
24
|
-
foreclosure_status
|
25
|
-
franchise
|
26
|
-
full_bathrooms
|
27
|
-
geocode_options
|
28
|
-
half_bathrooms
|
29
|
-
has_attic
|
30
|
-
has_barbecue_area
|
31
|
-
has_basement
|
32
|
-
has_ceiling_fan
|
33
|
-
has_deck
|
34
|
-
has_disabled_access
|
35
|
-
has_dock
|
36
|
-
has_doorman
|
37
|
-
has_double_pane_windows
|
38
|
-
has_elevator
|
39
|
-
has_fireplace
|
40
|
-
has_garden
|
41
|
-
has_gated_entry
|
42
|
-
has_greenhouse
|
43
|
-
has_hot_tub_spa
|
44
|
-
has_intercom
|
45
|
-
has_jetted_bath_tub
|
46
|
-
has_lawn
|
47
|
-
has_mother_in_law
|
48
|
-
has_patio
|
49
|
-
has_pond
|
50
|
-
has_pool
|
51
|
-
has_porch
|
52
|
-
has_rv_parking
|
53
|
-
has_sauna
|
54
|
-
has_security_system
|
55
|
-
has_skylight
|
56
|
-
has_sports_court
|
57
|
-
has_sprinkler_system
|
58
|
-
has_vaulted_ceiling
|
59
|
-
has_wet_bar
|
60
|
-
heating_fuels
|
61
|
-
heating_systems
|
62
|
-
import
|
63
|
-
is_cable_ready
|
64
|
-
is_new_construction
|
65
|
-
is_waterfront
|
66
|
-
is_wired
|
67
|
-
latitude
|
68
|
-
lead_routing_email
|
69
|
-
legal_description
|
70
|
-
list_price
|
71
|
-
list_price_low
|
72
|
-
listing_category
|
73
|
-
listing_date
|
74
|
-
listing_description
|
75
|
-
listing_provider
|
76
|
-
listing_status
|
77
|
-
listing_title
|
78
|
-
listing_url
|
79
|
-
living_area
|
80
|
-
living_area_unit
|
81
|
-
longitude
|
82
|
-
lot_size
|
83
|
-
mls_number
|
84
|
-
multiple_listing_service
|
85
|
-
modification_timestamp
|
86
|
-
neighborhoods
|
87
|
-
num_floors
|
88
|
-
num_parking_spaces
|
89
|
-
office
|
90
|
-
one_quarter_bathrooms
|
91
|
-
open_houses
|
92
|
-
parcel_info
|
93
|
-
participants
|
94
|
-
permit_address_on_internet
|
95
|
-
photos
|
96
|
-
property_sub_type
|
97
|
-
property_sub_type_description
|
98
|
-
property_type
|
99
|
-
property_type_description
|
100
|
-
roof_types
|
101
|
-
room_count
|
102
|
-
rooms
|
103
|
-
taxes
|
104
|
-
three_quarter_bathrooms
|
105
|
-
videos
|
106
|
-
view_types
|
107
|
-
virtual_tours
|
108
|
-
vow_address_display
|
109
|
-
vow_automated_valuation_display
|
110
|
-
vow_consumer_comment
|
111
|
-
year_built
|
112
|
-
year_updated
|
113
|
-
)
|
114
|
-
|
115
|
-
def self.fetch_enumeration class_name, item_name
|
116
|
-
Rails.cache.fetch([class_name, item_name], expires_in: 12.hours) do
|
117
|
-
class_name.constantize.find_by(name: item_name)
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
def self.address_types item_name
|
122
|
-
fetch_enumeration 'AddressType', item_name
|
123
|
-
end
|
124
|
-
|
125
|
-
def self.appliances item_name
|
126
|
-
fetch_enumeration 'Appliance', item_name
|
127
|
-
end
|
128
|
-
|
129
|
-
def self.architecture_styles item_name
|
130
|
-
fetch_enumeration 'ArchitectureStyle', item_name
|
131
|
-
end
|
132
|
-
|
133
|
-
def self.area_units item_name
|
134
|
-
fetch_enumeration 'AreaUnit', item_name
|
135
|
-
end
|
136
|
-
|
137
|
-
def self.cooling_systems item_name
|
138
|
-
fetch_enumeration 'CoolingSystem', item_name
|
139
|
-
end
|
140
|
-
|
141
|
-
def self.currency_periods item_name
|
142
|
-
fetch_enumeration 'CurrencyPeriod', item_name
|
143
|
-
end
|
144
|
-
|
145
|
-
def self.expense_categories item_name
|
146
|
-
fetch_enumeration 'ExpenseCategory', item_name
|
147
|
-
end
|
148
|
-
|
149
|
-
def self.exterior_types item_name
|
150
|
-
fetch_enumeration 'ExteriorType', item_name
|
151
|
-
end
|
152
|
-
|
153
|
-
def self.floor_coverings item_name
|
154
|
-
fetch_enumeration 'FloorCovering', item_name
|
155
|
-
end
|
156
|
-
|
157
|
-
def self.foreclosure_statuses item_name
|
158
|
-
fetch_enumeration 'ForeclosureStatus', item_name
|
159
|
-
end
|
160
|
-
|
161
|
-
def self.gender item_name
|
162
|
-
fetch_enumeration 'Gender', item_name
|
163
|
-
end
|
164
|
-
|
165
|
-
def self.heating_fuels item_name
|
166
|
-
fetch_enumeration 'HeatingFuel', item_name
|
167
|
-
end
|
168
|
-
|
169
|
-
def self.heating_systems item_name
|
170
|
-
fetch_enumeration 'HeatingSystem', item_name
|
171
|
-
end
|
172
|
-
|
173
|
-
def self.home_features item_name
|
174
|
-
fetch_enumeration 'HomeFeature', item_name
|
175
|
-
end
|
176
|
-
|
177
|
-
def self.import_formats item_name
|
178
|
-
fetch_enumeration 'ImportFormat', item_name
|
179
|
-
end
|
180
|
-
|
181
|
-
def self.license_categories item_name
|
182
|
-
fetch_enumeration 'LicenseCategory', item_name
|
183
|
-
end
|
184
|
-
|
185
|
-
def self.listing_categories item_name
|
186
|
-
fetch_enumeration 'ListingCategory', item_name
|
187
|
-
end
|
188
|
-
|
189
|
-
def self.listing_statuses item_name
|
190
|
-
fetch_enumeration 'ListingStatus', item_name
|
191
|
-
end
|
192
|
-
|
193
|
-
def self.parkings item_name
|
194
|
-
fetch_enumeration 'Parking', item_name
|
195
|
-
end
|
196
|
-
|
197
|
-
def self.participant_roles item_name
|
198
|
-
fetch_enumeration 'ParticipantRole', item_name
|
199
|
-
end
|
200
|
-
|
201
|
-
def self.property_sub_types item_name
|
202
|
-
fetch_enumeration 'PropertySubType', item_name
|
203
|
-
end
|
204
|
-
|
205
|
-
def self.property_types item_name
|
206
|
-
fetch_enumeration 'PropertyType', item_name
|
207
|
-
end
|
208
|
-
|
209
|
-
def self.roof_types item_name
|
210
|
-
fetch_enumeration 'RoofType', item_name
|
211
|
-
end
|
212
|
-
|
213
|
-
def self.room_categories item_name
|
214
|
-
fetch_enumeration 'RoomCategory', item_name
|
215
|
-
end
|
216
|
-
|
217
|
-
def self.school_categories item_name
|
218
|
-
fetch_enumeration 'SchoolCategory', item_name
|
219
|
-
end
|
220
|
-
|
221
|
-
def self.source_provider_categories item_name
|
222
|
-
fetch_enumeration 'SourceProviderCategory', item_name
|
223
|
-
end
|
224
|
-
|
225
|
-
def self.view_types item_name
|
226
|
-
fetch_enumeration 'ViewType', item_name
|
227
|
-
end
|
228
|
-
|
229
|
-
def self.unique_identifier queued_listing
|
230
|
-
(result = Mapper::get_value(queued_listing, queued_listing.import.unique_identifier.split(' ')))
|
231
|
-
end
|
232
|
-
|
233
|
-
def self.get_boolean_value queued_listing, elements
|
234
|
-
(result = Mapper::get_value(queued_listing, elements)) ? result.to_s.to_bool : nil
|
235
|
-
end
|
236
|
-
|
237
|
-
def self.get_value queued_listing, elements
|
238
|
-
if elements.count.eql?(1)
|
239
|
-
get_simple_value(queued_listing, elements.first)
|
240
|
-
else
|
241
|
-
get_subvalue(queued_listing, elements.first, elements[1..-1])
|
242
|
-
end
|
243
|
-
end
|
244
|
-
|
245
|
-
def self.get_simple_value queued_listing, element
|
246
|
-
if (value = queued_listing.listing_data[element])
|
247
|
-
value.unwrap_attribute
|
248
|
-
end
|
249
|
-
end
|
250
|
-
|
251
|
-
def self.get_subvalue queued_listing, element, child_elements
|
252
|
-
if (value = get_simple_value(queued_listing, element))
|
253
|
-
if (subvalue = child_elements.inject(value){|v, e| v[e] ? v[e] : Hash.new })
|
254
|
-
subvalue.present? ? subvalue.unwrap_attribute : nil
|
255
|
-
end
|
256
|
-
end
|
257
|
-
end
|
258
|
-
|
259
|
-
def self.get_repeaters queued_listing, elements
|
260
|
-
if (value = Mapper::get_value(queued_listing, elements[0..-2]))
|
261
|
-
(result = value.drilldown(elements.last)) ? (result.is_a?(Array) ? result : [result]) : nil
|
262
|
-
else
|
263
|
-
return []
|
264
|
-
end
|
265
|
-
end
|
266
|
-
|
267
|
-
def self.get_enums queued_listing, elements
|
268
|
-
if (result = get_repeaters(queued_listing, elements))
|
269
|
-
enums = result.map{|name| Mapper.send(elements.last.tableize, name)}
|
270
|
-
end
|
271
|
-
enums ? enums.compact : nil
|
272
|
-
end
|
273
|
-
|
274
|
-
end
|
data/lib/reso/engine.rb
DELETED
data/lib/reso/railties/reso.rake
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
namespace :reso do
|
2
|
-
|
3
|
-
desc "Populate database with seed data."
|
4
|
-
task :seed => [:load_enumerations, :seed_imports]
|
5
|
-
|
6
|
-
task :load_enumerations => [:environment] do
|
7
|
-
require "csv"
|
8
|
-
csv_text = File.read("#{Rails.root}/db/enumerations.csv")
|
9
|
-
csv = CSV.parse(csv_text, :headers => true)
|
10
|
-
csv.each do |row|
|
11
|
-
row = row.to_hash.with_indifferent_access
|
12
|
-
Enumeration.find_or_create_by(row.to_hash.symbolize_keys)
|
13
|
-
puts row.inspect
|
14
|
-
end
|
15
|
-
puts
|
16
|
-
end
|
17
|
-
|
18
|
-
task :seed_imports => [:environment] do
|
19
|
-
imports = [{ name: "RESO Example",
|
20
|
-
token: "reso",
|
21
|
-
import_format_id: ImportFormat.find_by(name: 'reso').id,
|
22
|
-
source_url: "https://app.listhub.com/syndication-docs/example.xml"
|
23
|
-
}]
|
24
|
-
|
25
|
-
imports.each do |import|
|
26
|
-
@import = Import.new
|
27
|
-
import.each_pair{|key, value| @import[key] = value }
|
28
|
-
@import.save
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
desc "Download and import data file for specified import."
|
33
|
-
task :import, [:import_token] => [:environment] do |t, args|
|
34
|
-
args.with_defaults(:import_token => "reso")
|
35
|
-
Import.find_by(token: args.import_token).run_import
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|