# frozen_string_literal: true
# CuAt (Customized Attributes) non-default attribute values
# CuDv (Customized Devices) the devices present on this machine
# PdAt (Predefined Attributes) default values for all device attributes
# PdDv (Predefined Devices) the list of all devices supported by this release of AIX
module Facter
module Util
module Aix
class ODMQuery
REPOS = %w[CuAt CuDv PdAt PdDv].freeze
def initialize
@query = ''
@conditions = []
@log = Facter::Log.new(self)
end
def equals(field, value)
@conditions << "#{field}='#{value}'"
self
end
def like(field, value)
@conditions << "#{field} like '#{value}'"
self
end
def execute
result = nil
REPOS.each do |repo|
break if result && !result.empty?
result = Facter::Core::Execution.execute("#{query} #{repo}", logger: @log)
end
result
end
def query
'odmget -q "' + @conditions.join(' AND ') + '"'
end
end
end
end
end
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]