blob: 617821667269d8aaa40abcd1711dce2c4eef81c5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# frozen_string_literal: true
module Ml
class FindOrCreateModelVersionService
def initialize(project, params = {})
@project = project
@name = params[:model_name]
@version = params[:version]
@package = params[:package]
@description = params[:description]
@user = params[:user]
@params = params
end
def execute
model_version = Ml::ModelVersion.by_project_id_name_and_version(@project.id, @name, @version)
return model_version if model_version
model = Ml::Model.by_project_id_and_name(@project.id, @name)
return unless model
Ml::CreateModelVersionService.new(model, @params).execute
end
end
end
|