module Mongoid module Shell module Properties module Password attr_accessor :password # current password 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] end end elsif ::Mongoid::Compatibility::Version.mongoid4? def password @password || begin node = session.cluster.nodes.first 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 end end