lib/gooddata/connection.rb in gooddata-0.6.3 vs lib/gooddata/connection.rb in gooddata-0.6.4
- old
+ new
@@ -19,19 +19,22 @@
# @param second_options
# @param third_options
#
def connect(options = nil, second_options = nil, third_options = {})
GoodData.logger.debug 'GoodData#connect'
-
- if options.is_a? Hash
- fail 'You have to provide login and password' if (options[:login].nil? || options[:login].empty?) && (options[:password].nil? || options[:password].empty?)
- threaded[:connection] = Connection.new(options[:login], options[:password], options)
- GoodData.project = options[:project] if options[:project]
- elsif options.is_a?(String) && second_options.is_a?(String)
- fail 'You have to provide login and password' if (options.nil? || options.empty?) && (second_options.nil? || second_options.empty?)
- threaded[:connection] = Connection.new(options, second_options, third_options)
- end
-
+ threaded[:connection] = if options.is_a? Hash
+ fail 'You have to provide login and password' if (options[:login].nil? || options[:login].empty?) && (options[:password].nil? || options[:password].empty?)
+ Connection.new(options[:login], options[:password], options)
+ conn = Connection.new(options[:login], options[:password], options)
+ GoodData.project = options[:project] if options[:project]
+ conn
+ elsif options.is_a?(String) && second_options.is_a?(String)
+ fail 'You have to provide login and password' if (options.nil? || options.empty?) && (second_options.nil? || second_options.empty?)
+ Connection.new(options, second_options, third_options)
+ elsif options.nil? && second_options.nil?
+ p = GoodData::Command::Auth.read_credentials
+ Connection.new(p[:login] || p[:username], p[:password], p)
+ end
threaded[:connection]
end
# Disconnect (logout) if logged in
def disconnect