Sha256: 989dc367bb9ecc9147864e157c5e34814544bbc61d7633a4a27163919ba3b0fe

Contents?: true

Size: 695 Bytes

Versions: 69

Compression:

Stored size: 695 Bytes

Contents

module ForemanRemoteExecution
  module NicExtensions
    extend ActiveSupport::Concern

    included do
      validate :exclusive_execution_interface
      before_validation :move_execution_flag
    end

    private

    def move_execution_flag
      return unless host && self.execution?

      host.interfaces
          .select { |i| i.execution? && i != self }
          .each { |i| i.execution = false }
    end

    def exclusive_execution_interface
      if host && self.execution?
        executions = host.interfaces.select { |i| i.execution? && i != self }
        errors.add :execution, _('host already has an execution interface') unless executions.empty?
      end
    end
  end
end

Version data entries

69 entries across 69 versions & 1 rubygems

Version Path
foreman_remote_execution-13.2.8 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-15.0.2 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-15.0.1 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-13.2.7 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-15.0.0 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-14.1.4 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-14.1.3 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-14.1.2 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-14.1.1 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-14.1.0 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-14.0.2 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-14.0.1 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-13.2.6 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-14.0.0 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-13.2.5 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-13.2.4 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-13.2.3 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-13.2.2 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-12.0.7 app/models/concerns/foreman_remote_execution/nic_extensions.rb
foreman_remote_execution-13.2.1 app/models/concerns/foreman_remote_execution/nic_extensions.rb