Sha256: fd85fd5bb921e081d76d66925f8acf8317151efa6845dab1701163cdb531b244

Contents?: true

Size: 1.19 KB

Versions: 4

Compression:

Stored size: 1.19 KB

Contents

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mongoid-shell-0.4.3 lib/mongoid/shell/properties/password.rb
mongoid-shell-0.4.2 lib/mongoid/shell/properties/password.rb
mongoid-shell-0.4.1 lib/mongoid/shell/properties/password.rb
mongoid-shell-0.4.0 lib/mongoid/shell/properties/password.rb