Sha256: 1c6f1178ff6e886b489b3fbbe905202eac04f623cd7a740da3dcdf18746eba69

Contents?: true

Size: 763 Bytes

Versions: 11

Compression:

Stored size: 763 Bytes

Contents

# frozen_string_literal: true

require 'bootsnap'

env = ENV.fetch('PUNK_ENV') { ENV.store('PUNK_ENV', 'development') }

if defined?(Bootsnap)
  Bootsnap.setup(
    cache_dir: 'tmp/cache',
    development_mode: env == 'development',
    load_path_cache: true,
    autoload_paths_cache: true,
    disable_trace: false,
    compile_cache_iseq: true,
    compile_cache_yaml: true
  )
end

module PUNK
  def self.init(task: 'server', path: './app', config: {})
    require_relative 'punk/core/interface'
    raise InternalServerError, 'Cannot call PUNK.init multiple times!' if state != :included
    store.args = OpenStruct.new(
      task: task,
      path: path,
      config: config
    )
    store.state = :initialised
    Interface.bootstrap
    self
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
punk-0.3.3 lib/punk.rb
punk-0.3.2 lib/punk.rb
punk-0.3.1 lib/punk.rb
punk-0.2.0 lib/punk.rb
punk-0.1.4 lib/punk.rb
punk-0.1.3 lib/punk.rb
punk-0.1.2 lib/punk.rb
punk-0.1.0 lib/punk.rb
punk-0.0.3 lib/punk.rb
punk-0.0.2 lib/punk.rb
punk-0.0.1 lib/punk.rb