Class: ActiveAgent::Providers::Common::Messages::Types::MessagesType
- Inherits:
-
ActiveModel::Type::Value
- Object
- ActiveModel::Type::Value
- ActiveAgent::Providers::Common::Messages::Types::MessagesType
show all
- Defined in:
- lib/active_agent/providers/common/messages/_types.rb
Overview
Instance Method Summary
collapse
Instance Method Details
#cast(value) ⇒ Object
95
96
97
98
99
100
101
102
103
104
105
106
|
# File 'lib/active_agent/providers/common/messages/_types.rb', line 95
def cast(value)
case value
when Array
messages = value.map { |v| message_type.cast(v) }.compact
messages.flat_map { |msg| split_content_blocks(msg) }
when nil
[]
else
raise ArgumentError, "Cannot cast #{value.class} to Messages array"
end
end
|
#deserialize(value) ⇒ Object
119
120
121
|
# File 'lib/active_agent/providers/common/messages/_types.rb', line 119
def deserialize(value)
cast(value)
end
|
#serialize(value) ⇒ Object
108
109
110
111
112
113
114
115
116
117
|
# File 'lib/active_agent/providers/common/messages/_types.rb', line 108
def serialize(value)
case value
when Array
value.map { |v| message_type.serialize(v) }.compact
when nil
[]
else
raise ArgumentError, "Cannot serialize #{value.class}"
end
end
|