Module: Tama::Neural

Defined in:
lib/tama/neural/klass.rb,
lib/tama/neural/space.rb,
lib/tama/neural/service.rb,
lib/tama/neural/operation.rb,
lib/tama/neural/operation_params.rb

Defined Under Namespace

Classes: OperationParams, Service

Constant Summary collapse

Klass =
Model.define(
  :id, :space_id, :provision_state, :schema, :name, :description,
  required: %i[provision_state name],
  types: {
    id: String, space_id: String, provision_state: String, schema: Hash,
    name: String, description: String
  }
)
Space =
Model.define(
  :id, :name, :slug, :type, :provision_state,
  required: %i[name type provision_state],
  types: {id: String, name: String, slug: String, type: String, provision_state: String}
)
Operation =
Model.define(
  :id, :current_state, :class_id, :node_ids,
  required: %i[current_state class_id],
  types: {id: String, current_state: String, class_id: String, node_ids: Array},
  transforms: {
    node_ids: lambda do |value|
      unless value.is_a?(Array) && value.all? { |node_id| node_id.is_a?(String) }
        raise Error::ValidationError, "node_ids must be an array of strings"
      end

      value
    end
  }
)