Module: Mongoid::Extensions::String
- Defined in:
- lib/mongoid/extensions/string.rb
Overview
Adds type-casting behavior to String class.
Defined Under Namespace
Modules: ClassMethods
Instance Attribute Summary collapse
- #unconvertable_to_bson ⇒ Object deprecated Deprecated.
- #unconvertable_to_bson If the document is unconvertable.(Ifthedocumentisunconvertable.) ⇒ Object deprecated Deprecated.
Instance Method Summary collapse
-
#__evolve_object_id__ ⇒ String | BSON::ObjectId
Evolve the string into an object id if possible.
-
#__mongoize_object_id__ ⇒ String | BSON::ObjectId | nil
Mongoize the string into an object id if possible.
-
#__mongoize_time__ ⇒ Time | ActiveSupport::TimeWithZone
Mongoize the string for storage.
-
#before_type_cast? ⇒ true | false
Does the string end with _before_type_cast?.
-
#collectionize ⇒ String
Convert the string to a collection friendly name.
- #mongoid_id? ⇒ true | false deprecated Deprecated.
-
#numeric? ⇒ true | false
Is the string a number? The literals "NaN", "Infinity", and "-Infinity" are counted as numbers.
-
#reader ⇒ String
Get the string as a getter string.
- #unconvertable_to_bson? ⇒ true | false deprecated Deprecated.
-
#valid_method_name? ⇒ true | false
Is this string a valid_method_name?.
-
#writer? ⇒ true | false
Is this string a writer?.
Instance Attribute Details
#unconvertable_to_bson ⇒ Object
9 10 11 |
# File 'lib/mongoid/extensions/string.rb', line 9 def unconvertable_to_bson @unconvertable_to_bson end |
#unconvertable_to_bson If the document is unconvertable.(Ifthedocumentisunconvertable.) ⇒ Object
9 |
# File 'lib/mongoid/extensions/string.rb', line 9 attr_accessor :unconvertable_to_bson |
Instance Method Details
#__evolve_object_id__ ⇒ String | BSON::ObjectId
Evolve the string into an object id if possible.
19 20 21 |
# File 'lib/mongoid/extensions/string.rb', line 19 def __evolve_object_id__ convert_to_object_id end |
#__mongoize_object_id__ ⇒ String | BSON::ObjectId | nil
Mongoize the string into an object id if possible.
29 30 31 |
# File 'lib/mongoid/extensions/string.rb', line 29 def __mongoize_object_id__ convert_to_object_id unless blank? end |
#__mongoize_time__ ⇒ Time | ActiveSupport::TimeWithZone
Returns a local time in the default time zone.
Mongoize the string for storage.
45 46 47 48 49 50 51 52 |
# File 'lib/mongoid/extensions/string.rb', line 45 def __mongoize_time__ # This extra Time.parse is required to raise an error if the string # is not a valid time string. ActiveSupport::TimeZone does not # perform this check. ::Time.parse(self) ::Time.zone.parse(self) end |
#before_type_cast? ⇒ true | false
Does the string end with _before_type_cast?
125 126 127 |
# File 'lib/mongoid/extensions/string.rb', line 125 def before_type_cast? ends_with?('_before_type_cast') end |
#collectionize ⇒ String
Convert the string to a collection friendly name.
60 61 62 |
# File 'lib/mongoid/extensions/string.rb', line 60 def collectionize tableize.tr('/', '_') end |
#mongoid_id? ⇒ true | false
Is the string a valid value for a Mongoid id?
71 72 73 |
# File 'lib/mongoid/extensions/string.rb', line 71 def mongoid_id? self =~ /\A(|_)id\z/ end |
#numeric? ⇒ true | false
Is the string a number? The literals "NaN", "Infinity", and "-Infinity" are counted as numbers.
83 84 85 86 87 |
# File 'lib/mongoid/extensions/string.rb', line 83 def numeric? !!Float(self) rescue ArgumentError (self =~ /\A(?:NaN|-?Infinity)\z/) == 0 end |
#reader ⇒ String
Get the string as a getter string.
95 96 97 |
# File 'lib/mongoid/extensions/string.rb', line 95 def reader delete('=').sub(/_before_type_cast\z/, '') end |
#unconvertable_to_bson? ⇒ true | false
Is the object not to be converted to bson on criteria creation?
136 137 138 |
# File 'lib/mongoid/extensions/string.rb', line 136 def unconvertable_to_bson? @unconvertable_to_bson ||= false end |
#valid_method_name? ⇒ true | false
Is this string a valid_method_name?
115 116 117 |
# File 'lib/mongoid/extensions/string.rb', line 115 def valid_method_name? /[@$"-]/ !~ self end |
#writer? ⇒ true | false
Is this string a writer?
105 106 107 |
# File 'lib/mongoid/extensions/string.rb', line 105 def writer? include?('=') end |