Class: Kuroko2::JobDefinition
Defined Under Namespace
Modules: PreventMultiStatus
Constant Summary
collapse
- PREVENT_TOKEN_STATUSES =
{
PreventMultiStatus::NONE => [],
PreventMultiStatus::WORKING_OR_ERROR => [
Kuroko2::Token::WORKING,
Kuroko2::Token::FAILURE,
Kuroko2::Token::CRITICAL
],
PreventMultiStatus::WORKING => [Kuroko2::Token::WORKING],
PreventMultiStatus::ERROR => [Kuroko2::Token::FAILURE, Kuroko2::Token::CRITICAL],
}
Instance Method Summary
collapse
Instance Method Details
#create_instance(script: nil, launched_by:, token: nil) ⇒ Object
94
95
96
97
98
99
100
101
102
|
# File 'app/models/kuroko2/job_definition.rb', line 94
def create_instance(script: nil, launched_by:, token: nil )
message = "Launched by #{launched_by}"
if token.present?
message = "(token #{token.uuid}) #{message}"
end
job_instances.create!(script: script, log_message: message)
end
|
#proceed_multi_instance? ⇒ Boolean
79
80
81
82
|
# File 'app/models/kuroko2/job_definition.rb', line 79
def proceed_multi_instance?
tokens = Kuroko2::Token.where(job_definition_id: self.id)
(tokens.map(&:status) & PREVENT_TOKEN_STATUSES[self.prevent_multi]).empty?
end
|
#save_and_record_revision(edited_user: nil) ⇒ Object
104
105
106
107
108
109
110
111
112
113
|
# File 'app/models/kuroko2/job_definition.rb', line 104
def save_and_record_revision(edited_user: nil)
transaction do
if save
record_revision(edited_user: edited_user)
true
else
false
end
end
end
|
#text_tags ⇒ Object
84
85
86
|
# File 'app/models/kuroko2/job_definition.rb', line 84
def text_tags
tags.map(&:name).join(',')
end
|
#text_tags=(text_tags) ⇒ Object
88
89
90
91
92
|
# File 'app/models/kuroko2/job_definition.rb', line 88
def text_tags=(text_tags)
self.tags = text_tags.gsub(/[[:blank:]]+/, '').split(/[,、]/).uniq.map do |name|
Kuroko2::Tag.find_or_create_by(name: name)
end
end
|
#update_and_record_revision(attributes, edited_user: nil) ⇒ Object
115
116
117
118
119
120
121
122
123
124
125
|
# File 'app/models/kuroko2/job_definition.rb', line 115
def update_and_record_revision(attributes, edited_user: nil)
assign_attributes(attributes)
transaction do
if save
record_revision(edited_user: edited_user)
true
else
false
end
end
end
|