Module: EM::Mongo::Support
Constant Summary
Constants included from Conversions
Conversions::ASCENDING_CONVERSION, Conversions::DESCENDING_CONVERSION
Instance Method Summary collapse
- #format_order_clause(order) ⇒ Object
-
#hash_password(username, plaintext) ⇒ String
Return a hashed password for auth.
-
#ok?(doc) ⇒ Boolean
Determine if a database command has succeeded by checking the document response.
- #validate_db_name(db_name) ⇒ Object
Methods included from Conversions
#array_as_sort_parameters, #sort_value, #string_as_sort_parameters
Instance Method Details
#format_order_clause(order) ⇒ Object
52 53 54 55 56 57 58 59 60 |
# File 'lib/em-mongo/support.rb', line 52 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 |
#hash_password(username, plaintext) ⇒ String
Return a hashed password for auth.
33 34 35 |
# File 'lib/em-mongo/support.rb', line 33 def hash_password(username, plaintext) OpenSSL::Digest::MD5.hexdigest("#{username}:mongo:#{plaintext}") end |
#ok?(doc) ⇒ Boolean
Determine if a database command has succeeded by checking the document response.
68 69 70 |
# File 'lib/em-mongo/support.rb', line 68 def ok?(doc) doc['ok'] == 1.0 || doc['ok'] == true end |
#validate_db_name(db_name) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/em-mongo/support.rb', line 38 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 EM::Mongo::InvalidNSName, "database names cannot contain the character '#{invalid_char}'" end end raise EM::Mongo::InvalidNSName, "database name cannot be the empty string" if db_name.empty? db_name end |