class Inspec::Input::NO_VALUE_SET

rubocop: disable Naming/ClassAndModuleCamelCase
to an input.
not been assigned a value. This allows a user to explicitly assign nil
This special class is used to represent the value when an input has
===========================================================================#
Class NO_VALUE_SET
===========================================================================#

def initialize(name, warn_on_create = true)

rubocop: disable Naming/ClassAndModuleCamelCase
to an input.
not been assigned a value. This allows a user to explicitly assign nil
This special class is used to represent the value when an input has
===========================================================================#
Class NO_VALUE_SET
===========================================================================#
def initialize(name, warn_on_create = true)
  @name = name
  # output warn message if we are in a exec call
  if warn_on_create && Inspec::BaseCLI.inspec_cli_command == :exec
    Inspec::Log.warn(
      "Input '#{@name}' does not have a value. "\
      "Use --input-file or --input to provide a value for '#{@name}' or specify a  "\
      "value with `input('#{@name}', value: 'somevalue', ...)`."
    )
  end
end

def is_a?(klass)

def is_a?(klass)
  if klass == Inspec::Attribute::DEFAULT_ATTRIBUTE
    Inspec.deprecate(:rename_attributes_to_inputs, "Don't check for `is_a?(Inspec::Attribute::DEFAULT_ATTRIBUTE)`, check for `Inspec::Input::NO_VALUE_SET")
    true # lie for backward compatibility
  else
    super(klass)
  end
end

def kind_of?(klass)

def kind_of?(klass)
  if klass == Inspec::Attribute::DEFAULT_ATTRIBUTE
    Inspec.deprecate(:rename_attributes_to_inputs, "Don't check for `kind_of?(Inspec::Attribute::DEFAULT_ATTRIBUTE)`, check for `Inspec::Input::NO_VALUE_SET")
    true # lie for backward compatibility
  else
    super(klass)
  end
end

def method_missing(*_)

def method_missing(*_)
  self
end

def respond_to_missing?(_, _)

def respond_to_missing?(_, _)
  true
end

def to_s

def to_s
  "Input '#{@name}' does not have a value. Skipping test."
end