Generate an MD5 for authentication.
@param [String] username @param [String] password @param [String] nonce
@return [String] a key for db authentication.
# File lib/mongo/util/support.rb, line 32 def auth_key(username, password, nonce) Digest::MD5.hexdigest("#{nonce}#{username}#{hash_password(username, password)}") end
# File lib/mongo/util/support.rb, line 69 def format_order_clause(order) case order when String, Symbol then string_as_sort_parameters(order) when Array then array_as_sort_parameters(order) else raise InvalidSortValueError, "Illegal sort clause, '#{order.class.name}'; must be of the form " + "[['field1', '(ascending|descending)'], ['field2', '(ascending|descending)']]" end end
Return a hashed password for auth.
@param [String] username @param [String] plaintext
@return [String]
# File lib/mongo/util/support.rb, line 42 def hash_password(username, plaintext) Digest::MD5.hexdigest("#{username}:mongo:#{plaintext}") end
Determine if a database command has succeeded by checking the document response.
@param [Hash] doc
@return [Boolean] true if the ‘ok’ key is either 1 or true.
# File lib/mongo/util/support.rb, line 85 def ok?(doc) doc['ok'] == 1.0 || doc['ok'] == true end
# File lib/mongo/util/support.rb, line 46 def validate_db_name(db_name) unless [String, Symbol].include?(db_name.class) raise TypeError, "db_name must be a string or symbol" end [" ", ".", "$", "/", "\\"].each do |invalid_char| if db_name.include? invalid_char raise Mongo::InvalidNSName, "database names cannot contain the character '#{invalid_char}'" end end raise Mongo::InvalidNSName, "database name cannot be the empty string" if db_name.empty? db_name end
# File lib/mongo/util/support.rb, line 60 def validate_read_preference(value) if [:primary, :secondary, nil].include?(value) return true else raise MongoArgumentError, "#{value} is not a valid read preference. " + "Please specify either :primary or :secondary." end end
Generated with the Darkfish Rdoc Generator 2.