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