Sha256: 697ee246b195e2fd54b3d39f753d462eb598073208b3d557cdeeb52e2fdd734e
Contents?: true
Size: 1.67 KB
Versions: 1
Compression:
Stored size: 1.67 KB
Contents
# frozen_string_literal: true require "active_support/dependencies/autoload" require "active_support/core_ext" require "active_support/json" require "oj" Oj.optimize_rails require "forwardable" require "dim" require_relative "version" require_relative "error" require_relative "monkey" module PUNK extend SingleForwardable def_single_delegators :store, :state def self.inject(*methods) def_single_delegators :'PUNK::Interface', *methods end Interface = Dim::Container.new end PUNK::Interface.register(:store) do require "ostruct" store = OpenStruct.new store.state = :included Thread.current[:rr] = store end PUNK::Interface.register(:bootstrap) do raise PUNK::InternalServerError, "Must call PUNK.init first!" if PUNK.state != :initialised require_relative "settings" require_relative "logger" end PUNK::Interface.register(:config) do |c| c.bootstrap PUNK.profile_trace("config") do require_relative "env" PUNK.get.load! require_relative "commands" end end PUNK::Interface.register(:boot) do |c| c.config retval = PUNK.profile_trace("boot") { require_relative "boot" } PUNK.logger.info "Punk! v#{PUNK.version}" PUNK.db.fetch("SELECT version(), timeofday()") do |row| row.each_value { |value| PUNK.logger.info value } end retval end PUNK::Interface.register(:load) do |c| c.boot PUNK.profile_debug("load") { require_relative "load" } end PUNK::Interface.register(:exec) do |c| c.load retval = PUNK.profile_debug("exec") { require_relative "exec" } PUNK.logger.tagged(PUNK.env, PUNK.task) do PUNK.logger.info PUNK.get.app.name end SemanticLogger.flush retval end PUNK.inject :store, :config, :boot, :load, :exec
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
punk-0.4.1 | lib/punk/core/interface.rb |