Active Model 二进制类型
用于表示二进制数据的属性类型。此类型在:binary
键下注册。
非字符串值使用它们的to_s
方法强制转换为字符串。
方法
- B
- C
- S
- T
实例公共方法
binary?() 链接
来源: 显示 | 在 GitHub 上
# File activemodel/lib/active_model/type/binary.rb, line 16 def binary? true end
cast(value) 链接
来源: 显示 | 在 GitHub 上
# File activemodel/lib/active_model/type/binary.rb, line 20 def cast(value) if value.is_a?(Data) value.to_s else value = super value = value.b if ::String === value && value.encoding != Encoding::BINARY value end end
changed_in_place?(raw_old_value, value) 链接
来源: 显示 | 在 GitHub 上
# File activemodel/lib/active_model/type/binary.rb, line 35 def changed_in_place?(raw_old_value, value) old_value = deserialize(raw_old_value) old_value != value end
serialize(value) 链接
来源: 显示 | 在 GitHub 上
# File activemodel/lib/active_model/type/binary.rb, line 30 def serialize(value) return if value.nil? Data.new(super) end
type() 链接
来源: 显示 | 在 GitHub 上
# File activemodel/lib/active_model/type/binary.rb, line 12 def type :binary end