Sha256: 8d0a1619b3b7d2dea5fd01510ae49bbf5d663ca4d0d4392bf84c50ea4a94bc21

Contents?: true

Size: 848 Bytes

Versions: 7

Compression:

Stored size: 848 Bytes

Contents

# frozen_string_literal: true

module Facts
  module Linux
    class Scope6Interfaces
      FACT_NAME = 'scope6_.*'
      TYPE = :legacy

      def call_the_resolver
        resolved_facts = []
        scope6_interfaces = {}
        interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
        primary = Facter::Resolvers::NetworkingLinux.resolve(:primary_interface)
        interfaces&.each do |interface_name, info|
          scope6_interfaces["scope6_#{interface_name}"] = info[:scope6] if info[:scope6]
        end

        scope6_interfaces.each { |fact, value| resolved_facts << Facter::ResolvedFact.new(fact, value, :legacy) }
        if interfaces && primary
          resolved_facts << Facter::ResolvedFact.new('scope6', interfaces[primary][:scope6], :legacy)
        end
        resolved_facts
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
facter-4.0.28 lib/facts/linux/scope6_interfaces.rb
facter-4.0.26 lib/facts/linux/scope6_interfaces.rb
facter-4.0.25 lib/facts/linux/scope6_interfaces.rb
facter-4.0.24 lib/facts/linux/scope6_interfaces.rb
facter-4.0.23 lib/facts/linux/scope6_interfaces.rb
facter-4.0.22 lib/facts/linux/scope6_interfaces.rb
facter-4.0.21 lib/facts/linux/scope6_interfaces.rb