lib/lb/project.rb in lb-project-0.0.1 vs lib/lb/project.rb in lb-project-0.1.0

- old
+ new

@@ -22,40 +22,47 @@ # Custom Types require 'lb/project/types' # Config require 'lb/project/config' +require 'lb/project/settings' # LB namespace module LB # Project module Project - CONFIG_NAME = 'application' - DEFAULT_RACK_ENV = 'development' + ERROR_MSG = 'Setup failed: settings is not a LB::Project::Settings' # Setup # - # @param [File] root Path to project root + # @param [settings] project settings # # @return [self] # # @api private # - def self.setup(root) - @root = root + def self.setup(settings) + unless settings.is_a?(LB::Project::Settings) + raise ArgumentError, + ERROR_MSG + end + @settings = settings + self end # Get root path # # @return [dir_name] # # @api private # def self.root - @root + @settings.root + rescue NoMethodError + raise ArgumentError, 'Call LB::Project.setup(...) first!' end # Get root path for file # # @param [File] file The file to get the root path from @@ -97,30 +104,12 @@ # @return [Config] # # @api private # def self.config - @config ||= Config.load(root, CONFIG_NAME, rack_env) - end - - # Get RACK_ENV - # - # @return [String] - # - # @api private - # - def self.rack_env - @rack_env ||= ENV.fetch('RACK_ENV', DEFAULT_RACK_ENV) - end - - # Check if rack_env is 'development' - # - # @return [Boolean] - # - # @api private - # - def self.development? - DEFAULT_RACK_ENV.eql? rack_env + @settings.config + rescue NoMethodError + raise ArgumentError, 'Call LB::Project.setup(...) first!' end def self.t(*params) R18n.t(*params) end