lib/templates.rake in foreman_templates-2.0.3 vs lib/templates.rake in foreman_templates-2.1.0
- old
+ new
@@ -24,10 +24,25 @@
[]
end
return oses
end
+def update_job_template
+ return {:status => false, :result => 'Skipping job template import, remote execution plugin is not installed.'} unless defined?(JobTemplate)
+ template = JobTemplate.import(@text.sub(/^name: .*$/, "name: #{@name}"), :update => true)
+
+ string = template.new_record? ? 'Created' : 'Updated'
+
+ if template.template != template.template_was
+ diff = Diffy::Diff.new(template.template_was, template.template, :include_diff_info => true).to_s(:color)
+ end
+
+ result = " #{string} Template #{ 'id' + template.id rescue ''}:#{@name}"
+
+ {:diff => diff, :status => template.save, :result => result}
+end
+
def update_template
# Get template type
unless kind = TemplateKind.find_by_name(@metadata['kind'])
raise NoKindError
end
@@ -172,9 +187,11 @@
case @metadata['kind']
when 'ptable'
data = update_ptable
when 'snippet'
data = update_snippet
+ when 'job_template'
+ data = update_job_template
else
data = update_template
end
if data[:status] == true && @verbose