Class: ActiveAgent::Providers::OpenRouter::RequestType
- Inherits:
-
ActiveModel::Type::Value
- Object
- ActiveModel::Type::Value
- ActiveAgent::Providers::OpenRouter::RequestType
- Defined in:
- lib/active_agent/providers/open_router/_types.rb
Overview
ActiveModel type for casting and serializing OpenRouter requests
Handles conversion between hashes, Request objects, and serialized request hashes for the OpenRouter API.
Instance Method Summary collapse
-
#cast(value) ⇒ Request?
Casts value to Request object.
-
#deserialize(value) ⇒ Request?
Deserializes value from storage.
-
#serialize(value) ⇒ Hash?
Serializes Request to hash for API submission.
Instance Method Details
#cast(value) ⇒ Request?
Casts value to Request object
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/active_agent/providers/open_router/_types.rb', line 30 def cast(value) case value when Request value when Hash Request.new(**value.deep_symbolize_keys) when nil nil else raise ArgumentError, "Cannot cast #{value.class} to Request" end end |
#deserialize(value) ⇒ Request?
Deserializes value from storage
65 66 67 |
# File 'lib/active_agent/providers/open_router/_types.rb', line 65 def deserialize(value) cast(value) end |
#serialize(value) ⇒ Hash?
Serializes Request to hash for API submission
48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/active_agent/providers/open_router/_types.rb', line 48 def serialize(value) case value when Request value.serialize when Hash value when nil nil else raise ArgumentError, "Cannot serialize #{value.class}" end end |