Class: ActiveAgent::Providers::OpenRouter::Requests::PluginsType

Inherits:
ActiveModel::Type::Value
  • Object
show all
Defined in:
lib/active_agent/providers/open_router/requests/_types.rb

Overview

Type for Plugins (array of Plugin objects)

Instance Method Summary collapse

Instance Method Details

#cast(value) ⇒ Object



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# File 'lib/active_agent/providers/open_router/requests/_types.rb', line 150

def cast(value)
  case value
  when Array
    value.map do |item|
      case item
      when Plugin
        item
      when Hash
        Plugin.new(**item.deep_symbolize_keys)
      else
        raise ArgumentError, "Cannot cast #{item.class} to Plugin"
      end
    end
  when nil
    nil
  else
    raise ArgumentError, "Cannot cast #{value.class} to Array of Plugins"
  end
end

#deserialize(value) ⇒ Object



190
191
192
# File 'lib/active_agent/providers/open_router/requests/_types.rb', line 190

def deserialize(value)
  cast(value)
end

#serialize(value) ⇒ Object



170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/active_agent/providers/open_router/requests/_types.rb', line 170

def serialize(value)
  case value
  when Array
    value.map do |item|
      case item
      when Plugin
        item.serialize
      when Hash
        item
      else
        raise ArgumentError, "Cannot serialize #{item.class}"
      end
    end
  when nil
    nil
  else
    raise ArgumentError, "Cannot serialize #{value.class}"
  end
end