ManageIQ/manageiq

View on GitHub
app/models/manageiq/providers/embedded_ansible/provider.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
class ManageIQ::Providers::EmbeddedAnsible::Provider < Provider
  include DefaultAnsibleObjects

  has_one :automation_manager,
          :foreign_key => "provider_id",
          :class_name  => "ManageIQ::Providers::EmbeddedAnsible::AutomationManager",
          :dependent   => :destroy, # to be removed after ansible_tower side code is updated
          :autosave    => true

  before_validation :ensure_managers

  private

  def ensure_managers
    build_automation_manager unless automation_manager
    automation_manager.name = _("%{name} Automation Manager") % {:name => name}
    if zone_id_changed?
      automation_manager.enabled = Zone.maintenance_zone&.id != zone_id
      automation_manager.zone_id = zone_id
    end
  end
end