模块:Mongoid::Extensions::String

定义于:
lib/mongoid/extensions/string.rb

Overview

为string类添加类型转换行为。

在命名空间下定义

模块: 类方法

实例属性摘要折叠

实例方法摘要折叠

实例属性详细信息

# unconvertable_to_bson对象

已弃用。


12
13
14
# File 'lib/mongoid/extensions/string.rb', line 12

def unconvertable_to_bson
  @unconvertable_to_bson
end

# unconvertable_to_bson 如果文档不可转换。 (如果文档不可转换。) ⇒对象

已弃用。


12
# File 'lib/mongoid/extensions/string.rb', line 12

attr_accessor :unconvertable_to_bson

实例方法详细信息

# __evolve_object_id__string | BSON::ObjectId

如果可能,将string转换为对象ID 。

例子:

演进string 。

"test".__evolve_object_id__

返回:

  • ( string | BSON::ObjectId )

    进化后的string 。



21
22
23
# File 'lib/mongoid/extensions/string.rb', line 21

def __evolve_object_id__
  convert_to_object_id
end

# __mongoize_object_id__string | BSON::ObjectId | nil

如果可能,将string Mongoize 为对象ID 。

例子:

演进string 。

"test".__mongoize_object_id__

返回:

  • ( string | BSON::ObjectId | nil )

    mongoized string 。



31
32
33
# File 'lib/mongoid/extensions/string.rb', line 31

def __mongoize_object_id__
  convert_to_object_id 除非 空白?
end

# __mongoize_time__时间| ActiveSupport::TimeWithZone

注意:

返回默认时区的本地时间。

将string Mongoize 进行存储。

例子:

将string Mongoize 。

"2012-01-01".__mongoize_time__
# => 2012-01-01 00:00:00 -0500

返回:

  • ( Time | ActiveSupport::TimeWithZone )

    与此string相对应的已配置默认时区域的本地时间。

引发:

  • ( ArgumentError )

    该string不是有效的时间string 。



47
48
49
50
51
52
53
54
# File 'lib/mongoid/extensions/string.rb', line 47

def __mongoize_time__
  # 需要这个额外的Time.parse 来引发错误,如果string
  # 不是有效的时间string 。 ActiveSupport::TimeZone 不
  # 执行此检查。
  ::时间.parse(self)

  ::时间.区域.parse(self)
end

# before_type_cast?true | false

string是否以 _before_type_cast 结尾?

例子:

string是 setter 方法吗?

"price_before_type_cast".before_type_cast?

返回:

  • ( true | false )

    如果string以“_before_type_cast”结尾



127
128
129
# File 'lib/mongoid/extensions/string.rb', line 127

def before_type_cast?
  Ends_with?(" _before_type_cast ")
end

# collectionizestring

将该string转换为集合友好名称。

例子:

集合string 。

"namespace/model".collectionize

返回:

  • ( string )

    集合友好形式的string 。



62
63
64
# File 'lib/mongoid/extensions/string.rb', line 62

def 集合化
  tableize.gsub(" / ", " _ ")
end

# mongoid_id?true | false

已弃用。

该string是 Mongoid ID的有效值吗?

例子:

该string是ID值吗?

"_id".mongoid_id?

返回:

  • ( true | false )

    如果string是ID或_id 。



73
74
75
# File 'lib/mongoid/extensions/string.rb', line 73

def mongoid_id?
  self =~ /\A(|_)id\z/
end

# numeric?true | false

string是数字吗? 字面量“NaN”、“Infinity”和“-Infinity”都计为数字。

例子:

string是否为数字。

"1234.23".numeric?

返回:

  • ( true | false )

    如果string是数字。



85
86
87
88
89
# File 'lib/mongoid/extensions/string.rb', line 85

def numeric?
  !!Float(self)
救援 ArgumentError
  (self =~ / \A(?:NaN|-?Infinity)\z /) == 0
end

# Readerstring

将string作为 getter string获取。

例子:

获取读取器/获取器

"model=".reader

返回:

  • ( string )

    该string去掉了“=”。



97
98
99
# File 'lib/mongoid/extensions/string.rb', line 97

def Reader
  删除(" = ").(/ \_before\_type\_cast\z /, ' ')
end

# unconvertable_to_bson?true | false

已弃用。

在创建条件时,对象是否不会转换为BSON ?

例子:

对象是否不可转换?

object.unconvertable_to_bson?

返回:

  • ( true | false )

    如果对象不可转换。



139
140
141
# File 'lib/mongoid/extensions/string.rb', line 139

def unconvertable_to_bson?
  @unconvertable_to_bson ||= false
end

# valid_method_name?true | false

此string是 valid_method_name 吗?

例子:

该string是否为用作方法名称的有效Ruby标识符

"model=".valid_method_name?

返回:

  • ( true | false )

    如果string包含有效的Ruby标识符。



117
118
119
# File 'lib/mongoid/extensions/string.rb', line 117

def valid_method_name?
  / [@$"-] / !~ self
end

# writer?true | false

此string是作者吗?

例子:

string是 setter 方法吗?

"model=".writer?

返回:

  • ( true | false )

    如果string包含“=”。



107
108
109
# File 'lib/mongoid/extensions/string.rb', line 107

def writer?
  包括?(" = ")
end