Sha256: b1d1242380f1f36c8833baaf6b4e3e8e21fff675d26bd9b83041d4b15e3d02dd

Contents?: true

Size: 648 Bytes

Versions: 3

Compression:

Stored size: 648 Bytes

Contents

module ForemanAnsible
  # imports ansible roles through UI
  class UiRolesImporter < RolesImporter
    def import!
      import_role_names
    end

    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

    def create_new_roles(changes)
      changes.each_value do |new_role|
        ::AnsibleRole.create(JSON.parse(new_role))
      end
    end

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
foreman_ansible-2.2.8 app/services/foreman_ansible/ui_roles_importer.rb
foreman_ansible-2.2.7 app/services/foreman_ansible/ui_roles_importer.rb
foreman_ansible-2.2.6 app/services/foreman_ansible/ui_roles_importer.rb