Module: Mongoid::Extensions::String
- Defined in:
- lib/mongoid/extensions/string.rb
Defined Under Namespace
Modules: ClassMethods
Instance Attribute Summary collapse
-
#unconvertable_to_bson ⇒ Object
Returns the value of attribute unconvertable_to_bson.
- #unconvertable_to_bson If the document is unconvetable.(Ifthedocumentisunconvetable.) ⇒ Object
Instance Method Summary collapse
-
#__evolve_object_id__ ⇒ String, BSON::ObjectId
Evolve the string into an object id if possible.
-
#__mongoize_object_id__ ⇒ String, ...
Mongoize the string into an object id if possible.
-
#__mongoize_time__ ⇒ Time
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
Is the string a valid value for a Mongoid id?.
-
#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
Is the object not to be converted to bson on criteria creation?.
-
#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
Returns the value of attribute unconvertable_to_bson.
7 8 9 |
# File 'lib/mongoid/extensions/string.rb', line 7 def unconvertable_to_bson @unconvertable_to_bson end |
#unconvertable_to_bson If the document is unconvetable.(Ifthedocumentisunconvetable.) ⇒ Object
7 |
# File 'lib/mongoid/extensions/string.rb', line 7 attr_accessor :unconvertable_to_bson |
Instance Method Details
#__evolve_object_id__ ⇒ String, BSON::ObjectId
Evolve the string into an object id if possible.
17 18 19 |
# File 'lib/mongoid/extensions/string.rb', line 17 def __evolve_object_id__ convert_to_object_id end |
#__mongoize_object_id__ ⇒ String, ...
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
The extra parse from Time is because ActiveSupport::TimeZone either returns nil or Time.now if the string is empty or invalid, which is a regression from pre-3.0 and also does not agree with the core Time API.
Mongoize the string for storage.
46 47 48 49 |
# File 'lib/mongoid/extensions/string.rb', line 46 def __mongoize_time__ ::Time.parse(self) ::Time.configured.parse(self) end |
#before_type_cast? ⇒ true, false
Does the string end with _before_type_cast?
132 133 134 |
# File 'lib/mongoid/extensions/string.rb', line 132 def before_type_cast? ends_with?("_before_type_cast") end |
#collectionize ⇒ String
Convert the string to a collection friendly name.
59 60 61 |
# File 'lib/mongoid/extensions/string.rb', line 59 def collectionize tableize.gsub("/", "_") 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$/ end |
#numeric? ⇒ true, false
Is the string a number? The literals “NaN”, “Infinity”, and “-Infinity” are counted as numbers.
84 85 86 |
# File 'lib/mongoid/extensions/string.rb', line 84 def numeric? true if Float(self) rescue (self =~ /^NaN|\-?Infinity$/) end |
#reader ⇒ String
Get the string as a getter string.
96 97 98 |
# File 'lib/mongoid/extensions/string.rb', line 96 def reader delete("=").sub(/\_before\_type\_cast$/, '') end |
#unconvertable_to_bson? ⇒ true, false
Is the object not to be converted to bson on criteria creation?
144 145 146 |
# File 'lib/mongoid/extensions/string.rb', line 144 def unconvertable_to_bson? @unconvertable_to_bson ||= false end |
#valid_method_name? ⇒ true, false
Is this string a valid_method_name?
120 121 122 |
# File 'lib/mongoid/extensions/string.rb', line 120 def valid_method_name? /[@$"-]/ !~ self end |
#writer? ⇒ true, false
Is this string a writer?
108 109 110 |
# File 'lib/mongoid/extensions/string.rb', line 108 def writer? include?("=") end |