class Inspec::Resources::Runlevels

def self.from_hash(owner, hash = {}, filter = nil)

def self.from_hash(owner, hash = {}, filter = nil)
  res = Runlevels.new(owner)
  filter = filter.first if filter.is_a?(Array) && filter.length <= 1
  ks = case filter
       when nil
         hash.keys
       when Regexp
         hash.keys.find_all { |x| x.to_s =~ filter }
       when Array
         f = filter.map(&:to_s)
         hash.keys.find_all { |x| f.include?(x.to_s) }
       when Numeric
         hash.keys.include?(filter) ? [filter] : []
       else
         hash.keys.find_all { |x| x == filter }
       end
  ks.each { |k| res[k] = hash[k] }
  res
end

def disabled?

Returns:
  • (boolean) - true if all runlevels are disabled
def disabled?
  values.none?
end

def enabled?

Returns:
  • (boolean) - true if all runlevels are enabled
def enabled?
  values.all?
end

def filter(f)

def filter(f)
  Runlevels.from_hash(owner, self, f)
end

def initialize(owner, default = false)

def initialize(owner, default = false)
  @owner = owner
  super(default)
end

def to_s

def to_s
  "#{owner} runlevels #{keys.join(", ")}"
end