Module: ForemanTemplates::TemplateImport::ClassMethods
- Defined in:
- app/models/concerns/foreman_templates/template_import.rb
Instance Method Summary collapse
Instance Method Details
#import_snippet!(name, text) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/models/concerns/foreman_templates/template_import.rb', line 5 def import_snippet!(name, text) # Data snippet = self.where(:name => name).first_or_initialize data = { :template => text, :snippet => true } # Printout helpers c_or_u = snippet.new_record? ? 'Created' : 'Updated' id_string = ('id' + snippet.id) rescue '' if data[:template] != snippet.template diff = Diffy::Diff.new( snippet.template, data[:template], :include_diff_info => true ).to_s(:color) status = snippet.update_attributes(data) result = " #{c_or_u} Snippet #{id_string}:#{name}" else diff = nil status = true result = " No change to Snippet #{id_string}:#{name}" end { :diff => diff, :status => status, :result => result } end |
#map_metadata(metadata, param) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'app/models/concerns/foreman_templates/template_import.rb', line 33 def (, param) if [param] case param when 'oses' [param].map do |os| Operatingsystem.all.map { |db| db.to_label =~ /^#{os}/ ? db : nil } end.flatten.compact when 'locations' [param].map do |loc| Location.all.map { |db| db.name =~ /^#{loc}/ ? db : nil } end.flatten.compact when 'organizations' [param].map do |org| Organization.all.map { |db| db.name =~ /^#{org}/ ? db : nil } end.flatten.compact end else [] end end |