class MarkdownExec::OptionValue


The ‘for_yaml` method prepares the value for output as a default in `list_default_yaml()`.
The `for_hash` method prepares the value to be used as a default in `env_str()`.
This class provides utilities to format option values for different contexts.
OptionValue

def self.for_hash(value, default = nil)

Formats the value for use in a hash.
def self.for_hash(value, default = nil)
  return default if value.nil?
  case value
  when String, Integer
    value
  when TrueClass, FalseClass
    value ? true : false
  when ->(v) { v.respond_to?(:empty?) && v.empty? }
    default
  else
    value.to_s
  end
end

def self.for_yaml(value, default = nil)

Formats the value for output in YAML.
def self.for_yaml(value, default = nil)
  return default if value.nil?
  case value
  when String
    "'#{value}'"
  when Integer
    value
  when TrueClass, FalseClass
    value ? true : false
  when ->(v) { v.respond_to?(:empty?) && v.empty? }
    default
  else
    value.to_s
  end
end