lib/hanami/configuration.rb in hanami-2.0.0.alpha6 vs lib/hanami/configuration.rb in hanami-2.0.0.alpha7
- old
+ new
@@ -11,10 +11,11 @@
require_relative "configuration/logger"
require_relative "configuration/middleware"
require_relative "configuration/router"
require_relative "configuration/sessions"
require_relative "configuration/source_dirs"
+require_relative "constants"
module Hanami
# Hanami application configuration
#
# @since 2.0.0
@@ -24,12 +25,11 @@
include Dry::Configurable
DEFAULT_ENVIRONMENTS = Concurrent::Hash.new { |h, k| h[k] = Concurrent::Array.new }
private_constant :DEFAULT_ENVIRONMENTS
- MODULE_DELIMITER = "::"
- private_constant :MODULE_DELIMITER
+ attr_reader :env
attr_reader :actions
attr_reader :middleware
attr_reader :router
attr_reader :views, :assets
@@ -39,11 +39,11 @@
def initialize(application_name:, env:)
@namespace = application_name.split(MODULE_DELIMITER)[0..-2].join(MODULE_DELIMITER)
@environments = DEFAULT_ENVIRONMENTS.clone
- config.env = env
+ @env = env
# Some default setting values must be assigned at initialize-time to ensure they
# have appropriate values for the current application
self.root = Dir.pwd
self.settings_store = Application::Settings::DotenvStore.new.with_dotenv_loaded
@@ -115,17 +115,10 @@
def application_name
inflector.underscore(@namespace).to_sym
end
- setting :env
-
- def env=(new_env)
- config.env = env
- apply_env_config(new_env)
- end
-
setting :root, constructor: -> path { Pathname(path) }
setting :inflector, default: Dry::Inflector.new
def inflections(&block)
@@ -146,22 +139,10 @@
setting :settings_class_name, default: "Settings"
setting :settings_store, default: Application::Settings::DotenvStore
- setting :slices_dir, default: "slices"
-
- setting :slices_namespace, default: Object
-
- # TODO: convert into a dedicated object with explicit behaviour around blocks per
- # slice, etc.
- setting :slices, default: {}, constructor: :dup.to_proc
-
setting :source_dirs, default: Configuration::SourceDirs.new, cloneable: true
-
- def slice(slice_name, &block)
- slices[slice_name] = block
- end
setting :base_url, default: "http://0.0.0.0:2300", constructor: -> url { URI(url) }
def for_each_middleware(&blk)
stack = middleware.stack.dup