Class: ForemanAnsible::UiRolesImporter

Inherits:
RolesImporter show all
Defined in:
app/services/foreman_ansible/ui_roles_importer.rb

Overview

imports ansible roles through UI

Instance Attribute Summary

Attributes inherited from RolesImporter

#ansible_proxy

Instance Method Summary collapse

Methods inherited from RolesImporter

#detect_changes, #fetch_role_names, #import_role_names, #import_roles, #initialize

Constructor Details

This class inherits a constructor from ForemanAnsible::RolesImporter

Instance Method Details

#create_new_roles(changes) ⇒ Object



14
15
16
17
18
# File 'app/services/foreman_ansible/ui_roles_importer.rb', line 14

def create_new_roles(changes)
  changes.each_pair do |_, new_role|
    ::AnsibleRole.create(JSON.parse(new_role))
  end
end

#delete_old_roles(changes) ⇒ Object



20
21
22
23
24
# File 'app/services/foreman_ansible/ui_roles_importer.rb', line 20

def delete_old_roles(changes)
  changes.each_pair do |_, old_role|
    ::AnsibleRole.find(JSON.parse(old_role)['id']).destroy
  end
end

#finish_import(changes) ⇒ Object



8
9
10
11
12
# File 'app/services/foreman_ansible/ui_roles_importer.rb', line 8

def finish_import(changes)
  return if changes.blank?
  create_new_roles changes['new'] if changes['new']
  delete_old_roles changes['obsolete'] if changes['obsolete']
end

#import!Object



4
5
6
# File 'app/services/foreman_ansible/ui_roles_importer.rb', line 4

def import!
  import_role_names
end