Sha256: 86abf9fd268a16f4e27b2e5de828b6d75b86e8f74feb8ce5df283f81d7521e0c
Contents?: true
Size: 1.09 KB
Versions: 21
Compression:
Stored size: 1.09 KB
Contents
# typed: ignore # frozen_string_literal: true # Usually this class wouldn't be called directly, the environment can be managed # via the DearInventory::Config class or one of it's sub-classes module DearInventory class Environment class << self def production? to_sym == :production end def test? to_sym == :test end def to_sym @to_sym ||= set(default) end ENVIRONMENTS = %i[production test].freeze def set(value) return @to_sym = value if ENVIRONMENTS.include?(value) error_value = value.is_a?(Symbol) ? ":#{value}" : value.to_s raise( ArgumentError, "#{error_value} is not an acceptable environment; " \ "please use either :production or :test" ) end private def default return :test if ENV["ENV"] == "test" return rails if rails? :production end def rails? defined?(Rails) end def rails return :production if Rails.env.production? :test end end end end
Version data entries
21 entries across 21 versions & 1 rubygems