lib/mongoid/shell/properties/password.rb in mongoid-shell-0.3.0 vs lib/mongoid/shell/properties/password.rb in mongoid-shell-0.4.0

- old
+ new

@@ -3,19 +3,33 @@ module Properties module Password attr_accessor :password # current password - def password - @password || begin - if Mongoid::Shell.mongoid3? + if ::Mongoid::Compatibility::Version.mongoid3? + def password + @password || begin return nil unless session.context.cluster.auth && session.context.cluster.auth.first session.context.cluster.auth.first[1][1] - else + end + end + elsif ::Mongoid::Compatibility::Version.mongoid4? + def password + @password || begin node = session.cluster.nodes.first - raise Mongoid::Shell::Errors::SessionNotConnectedError unless node + fail Mongoid::Shell::Errors::SessionNotConnectedError unless node return nil if !node.credentials.key?(db) || node.credentials[db].empty? node.credentials[db][1] + end + end + else + def password + @password || begin + server = session.cluster.servers.first + fail Mongoid::Shell::Errors::SessionNotConnectedError unless server + server.context.with_connection do |connection| + connection.options[:password] + end end end end end end