Sha256: ac6a95341f5dd06ff35aaa482dae5138b8b5812b2d1c4b4ad9cb823d12390116

Contents?: true

Size: 652 Bytes

Versions: 6

Compression:

Stored size: 652 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_pair do |_, new_role|
        ::AnsibleRole.create(JSON.parse(new_role))
      end
    end

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
foreman_ansible-2.2.14 app/services/foreman_ansible/ui_roles_importer.rb
foreman_ansible-2.2.13 app/services/foreman_ansible/ui_roles_importer.rb
foreman_ansible-2.2.12 app/services/foreman_ansible/ui_roles_importer.rb
foreman_ansible-2.2.11 app/services/foreman_ansible/ui_roles_importer.rb
foreman_ansible-2.2.10 app/services/foreman_ansible/ui_roles_importer.rb
foreman_ansible-2.2.9 app/services/foreman_ansible/ui_roles_importer.rb