Class: Ml::ExperimentTracking::ExperimentRepository

Inherits:
Object
  • Object
show all
Defined in:
app/services/ml/experiment_tracking/experiment_repository.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(project, user = nil) ⇒ ExperimentRepository

Returns a new instance of ExperimentRepository.



8
9
10
11
# File 'app/services/ml/experiment_tracking/experiment_repository.rb', line 8

def initialize(project, user = nil)
  @project = project
  @user = user
end

Instance Attribute Details

#projectObject

Returns the value of attribute project.



6
7
8
# File 'app/services/ml/experiment_tracking/experiment_repository.rb', line 6

def project
  @project
end

#userObject

Returns the value of attribute user.



6
7
8
# File 'app/services/ml/experiment_tracking/experiment_repository.rb', line 6

def user
  @user
end

Instance Method Details

#add_tag!(experiment, key, value) ⇒ Object



33
34
35
36
37
# File 'app/services/ml/experiment_tracking/experiment_repository.rb', line 33

def add_tag!(experiment, key, value)
  return unless experiment.present?

  experiment..create!(name: key, value: value)
end

#allObject



19
20
21
# File 'app/services/ml/experiment_tracking/experiment_repository.rb', line 19

def all
  ::Ml::Experiment.by_project_id(project.id)
end

#by_iid_or_name(iid: nil, name: nil) ⇒ Object



13
14
15
16
17
# File 'app/services/ml/experiment_tracking/experiment_repository.rb', line 13

def by_iid_or_name(iid: nil, name: nil)
  return ::Ml::Experiment.by_project_id_and_iid(project.id, iid) if iid

  ::Ml::Experiment.by_project_id_and_name(project.id, name) if name
end

#create!(name, tags = nil) ⇒ Object



23
24
25
26
27
28
29
30
31
# File 'app/services/ml/experiment_tracking/experiment_repository.rb', line 23

def create!(name, tags = nil)
  experiment = ::Ml::Experiment.create!(name: name,
                                        user: user,
                                        project: project)

  add_tags(experiment, tags)

  experiment
end