Sha256: cce99fa1cade356fae9b26f0dc98b76abd7ddb773befeff5629a98935be0117b
Contents?: true
Size: 1.85 KB
Versions: 4
Compression:
Stored size: 1.85 KB
Contents
require 'rets' require 'faraday' require 'ruby_odata' module Pwb class MlsConnector attr_accessor :import_source def initialize(import_source) self.import_source = import_source end def retrieve query, limit if import_source.source_type == "odata" properties = retrieve_via_odata query, limit else properties = retrieve_via_rets query, limit end end def retrieve_via_odata query, limit # conn = Faraday.new(:url => 'http://dmm-api.olrdev.com/Service.svc') do |faraday| # faraday.basic_auth('', '') # faraday.request :url_encoded # form-encode POST params # faraday.response :logger # log requests to STDOUT # faraday.adapter Faraday.default_adapter # make requests with Net::HTTP # end # response = conn.get "/Listings()?$filter=RentalListingType%20ge%200L" # response.body svc = OData::Service.new import_source.details[:login_url], { :username => import_source.details[:username], :password=> import_source.details[:password] } svc.Listings.expand('Building') listings = svc.execute return JSON.parse(listings.to_json) end def retrieve_via_rets query, limit client = Rets::Client.new(import_source.details) # $ver = "RETS/1.7.2"; # $user_agent = "RETS Test/1.0"; quantity = :all # quantity has to be one of :first or :all # but would rather use limit than :first properties = client.find quantity, { search_type: 'Property', class: import_source.default_property_class, query: query, limit: limit } # photos = client.objects '*', { # resource: 'Property', # object_type: 'Photo', # resource_id: '242502823' # } return properties end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
pwb-1.3.0 | app/services/pwb/mls_connector.rb |
pwb-1.2.0 | app/services/pwb/mls_connector.rb |
pwb-1.1.1 | app/services/pwb/mls_connector.rb |
pwb-1.0.0 | app/services/pwb/mls_connector.rb |