# frozen_string_literal: true require 'env_helpers' class << ENV # Compare the value of an ENV variable to a given string. # # @param var_name [String] ENV variable name # @param value [String] comparison string # @return [Boolean] `true` if the value of the ENV variable is the same as value def equal?(var_name, value) EnvHelpers.equal?(var_name, value) end # Get a number value from an ENV variable or return a default. # # @param var_name [String] ENV variable name # @param default [Object] retured when ENV[var_name] is blank or doesn't exist # @return [Float] float representing the ENV value def num(var_name, default = nil) EnvHelpers.num(var_name, default) end # Get an integer value from an ENV variable or return a default. # # @param var_name [String] ENV variable name # @param default [Object] retured when ENV[var_name] is blank or doesn't exist # @return [Integer] integer representing the ENV value def int(var_name, default = nil) EnvHelpers.int(var_name, default) end # Get an array value from an ENV variable # # @param var_name [String] ENV variable name # @param sep [String] string to split ENV value on # @return [Array] array of strings representing the ENV value. # Defaults to [] if value is blank. def array(var_name, sep = ',') EnvHelpers.array(var_name, sep) end # Get a JSON value from an ENV variable # # @param var_name [String] ENV variable name # @raise [JSON::ParserError] if value is invalid JSON # @return [Object] array of strings representing the ENV value. def json(var_name, default = nil) EnvHelpers.json(var_name, default) end # Get an boolean value from an ENV variable or return a default. # Will return the default if there is a non-boolean like value for the ENV variable. # # @param var_name [String] ENV variable name # @param default [Object] retured when ENV[var_name] is blank # or doesn't represent a numeric value # @return [Boolean] boolean representing the ENV value def bool(var_name, default = nil) EnvHelpers.bool(var_name, default) end # Check if an ENV variable represents `true`. ('true', 't', or '1'). # Returns false if environment variable isn't defined. # # @param var_name [String] ENV variable name # @return [Boolean] def true?(var_name) EnvHelpers.true?(var_name) end # Check if an ENV variable represents `false`. ('false', 'f', or '0'). # Returns false if environment variable isn't defined. # # @param var_name [String] ENV variable name # @return [Boolean] def false?(var_name) EnvHelpers.false?(var_name) end end