Sha256: 241e3ef157bdd2264e1fe5ff6ed7cd59a627d651e1e10e59937fd062b9d1461c

Contents?: true

Size: 612 Bytes

Versions: 1

Compression:

Stored size: 612 Bytes

Contents

# frozen_string_literal: true

require "active_support/core_ext/module/delegation"

module Roseflow
  module StabilityAI
    class ModelRepository
      attr_reader :models

      delegate :each, :all, :first, :last, to: :models

      def initialize(provider)
        @provider = provider
        @models = load_models
      end

      def find(name)
        @models.select { |model| model.name == name }.first
      end

      private

      attr_reader :provider

      def load_models
        provider.client.models.map do |model|
          Model.new(model, provider)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
roseflow-stabilityai-0.1.0 lib/roseflow/stabilityai/model_repository.rb