examples/client_metadata.rb in rets4r-0.8.5 vs examples/client_metadata.rb in rets4r-1.1.18
- old
+ new
@@ -1,42 +1,42 @@
-#!/usr/bin/ruby
+#!/usr/bin/env ruby
#
# This is an example of how to use the RETS client to login to a server and retrieve metadata. It
# also makes use of passing blocks to client methods and demonstrates how to set the output format.
#
# You will need to set the necessary variables below.
#
#############################################################################################
# Settings
-rets_url = 'http://server.com/my/rets/url'
-username = 'username'
-password = 'password'
-
+require 'yaml'
+require 'active_support/core_ext/hash'
+settings_file = File.expand_path(File.join(File.dirname(__FILE__), "settings.yml"))
+env = ENV['LISTING_ENV'] || 'development'
+settings = YAML.load_file(settings_file)[env].symbolize_keys
+
#############################################################################################
$:.unshift 'lib'
require 'rets4r'
-RETS4R::Client.new(rets_url) do |client|
- client.login(username, password) do |login_result|
- if login_result.success?
- puts "Logged in successfully!"
-
- # We want the raw metadata, so we need to set the output to raw XML.
- client.set_output RETS4R::Client::OUTPUT_RAW
- metadata = ''
-
- begin
- metadata = client.get_metadata
- rescue
- puts "Unable to get metadata: '#{$!}'"
- end
-
- File.open('metadata.xml', 'w') do |file|
- file.write metadata
- end
- else
- puts "Unable to login: '#{login_result.reply_text}'."
- end
- end
-end
\ No newline at end of file
+RETS4R::Client.new(settings[:url]) do |client|
+ client.login(settings[:username], settings[:password]) do |login_result|
+ if login_result.success?
+ puts "Logged in successfully!"
+
+ metadata = ''
+
+ begin
+ metadata = client.get_metadata(*ARGV)
+ rescue
+ puts "Unable to get metadata: '#{$!}'"
+ end
+
+ File.open('metadata.xml', 'w') do |file|
+ file.write metadata
+ end
+ else
+ puts "Unable to login: '#{login_result.reply_text}'."
+ end
+ end
+end