Class: CouchbaseOrm::Types::Array
- Inherits:
-
ActiveModel::Type::Value
- Object
- ActiveModel::Type::Value
- CouchbaseOrm::Types::Array
- Defined in:
- lib/couchbase-orm/types/array.rb
Instance Attribute Summary collapse
-
#model_class ⇒ Object
readonly
Returns the value of attribute model_class.
-
#type_class ⇒ Object
readonly
Returns the value of attribute type_class.
Instance Method Summary collapse
- #cast(values) ⇒ Object
-
#initialize(type: nil) ⇒ Array
constructor
A new instance of Array.
- #serialize(values) ⇒ Object
Constructor Details
#initialize(type: nil) ⇒ Array
Returns a new instance of Array.
8 9 10 11 12 13 14 15 16 |
# File 'lib/couchbase-orm/types/array.rb', line 8 def initialize(type: nil) if type.is_a?(Class) && type < CouchbaseOrm::NestedDocument @model_class = type @type_class = CouchbaseOrm::Types::Nested.new(type: @model_class) else @type_class = ActiveModel::Type.registry.lookup(type) end super() end |
Instance Attribute Details
#model_class ⇒ Object (readonly)
Returns the value of attribute model_class.
6 7 8 |
# File 'lib/couchbase-orm/types/array.rb', line 6 def model_class @model_class end |
#type_class ⇒ Object (readonly)
Returns the value of attribute type_class.
6 7 8 |
# File 'lib/couchbase-orm/types/array.rb', line 6 def type_class @type_class end |
Instance Method Details
#cast(values) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/couchbase-orm/types/array.rb', line 18 def cast(values) return [] if values.nil? raise ArgumentError.new("#{values.inspect} must be an array") unless values.is_a?(::Array) values.map(&@type_class.method(:cast)) end |
#serialize(values) ⇒ Object
26 27 28 29 30 |
# File 'lib/couchbase-orm/types/array.rb', line 26 def serialize(values) return [] if values.nil? values.map(&@type_class.method(:serialize)) end |