class Devup::Application

Public Instance Methods

app_env() click to toggle source
# File lib/devup/application.rb, line 44
def app_env
  (ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development").to_sym
end
boot() click to toggle source
# File lib/devup/application.rb, line 13
def boot
  devup.up

  begin
    require "spring/commands"

    Spring.watch devup.root.join("docker-compose.yml")
  rescue LoadError, ArgumentError, NameError
    # Spring is not available
  end
end
devup() click to toggle source
# File lib/devup/application.rb, line 25
def devup
  @devup ||= Devup::Environment.new(
    pwd: `pwd`,
    logger: Devup::Logger.build(log_level)
  )
end
devup_disabled?() click to toggle source
# File lib/devup/application.rb, line 60
def devup_disabled?
  ENV.fetch("DEVUP_ENABLED", dotenv_vars["DEVUP_ENABLED"] || "true") != "true"
end
dotenv_list() click to toggle source
# File lib/devup/application.rb, line 48
def dotenv_list
  Devup::DotenvLoadList.new(env: app_env)
end
dotenv_vars() click to toggle source
# File lib/devup/application.rb, line 52
def dotenv_vars
  Dotenv.parse(*dotenv_list.to_a)
end
load_env() click to toggle source
# File lib/devup/application.rb, line 32
def load_env
  if defined? ActiveSupport::Notifications
    Dotenv.instrumenter = ActiveSupport::Notifications
    ActiveSupport::Notifications.subscribe(/^dotenv/) do |*args|
      event = ActiveSupport::Notifications::Event.new(*args)
      Spring.watch event.payload[:env].filename if defined? Spring
    end
  end

  Dotenv.load(*dotenv_list.to_a)
end
log_level() click to toggle source
# File lib/devup/application.rb, line 56
def log_level
  ENV.fetch("DEVUP_LOG_LEVEL", dotenv_vars["DEVUP_LOG_LEVEL"] || "info")
end
run() click to toggle source
# File lib/devup/application.rb, line 8
def run
  boot unless devup_disabled?
  load_env
end