Class: Muding::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/initializer.rb

Overview

The Configuration class holds all the parameters for the Initializer and ships with defaults that suites most Muding applications. But it’s possible to overwrite everything. Usually, you’ll create an Configuration file implicitly through the block running on the Initializer, but it’s also possible to create the Configuration instance in advance and pass it in like this:

config = Muding::Configuration.new
Muding::Initializer.run(:process, config)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Create a new Configuration instance, initialized with the default values.



431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
# File 'lib/initializer.rb', line 431

def initialize
  self.frameworks                   = default_frameworks
  self.load_paths                   = default_load_paths
  self.log_path                     = default_log_path
  self.log_level                    = default_log_level
  self.view_path                    = default_view_path
  self.controller_paths             = default_controller_paths
  self.cache_classes                = default_cache_classes
  self.breakpoint_server            = default_breakpoint_server
  self.whiny_nils                   = default_whiny_nils
  self.plugin_paths                 = default_plugin_paths
  self.database_configuration_file  = default_database_configuration_file

  for framework in default_frameworks
    self.send("#{framework}=", OrderedOptions.new)
  end
end

Instance Attribute Details

#action_controllerObject

A stub for setting options on ActionController::Base



359
360
361
# File 'lib/initializer.rb', line 359

def action_controller
  @action_controller
end

#action_mailerObject

A stub for setting options on ActionMailer::Base



362
363
364
# File 'lib/initializer.rb', line 362

def action_mailer
  @action_mailer
end

#action_viewObject

A stub for setting options on ActionView::Base



365
366
367
# File 'lib/initializer.rb', line 365

def action_view
  @action_view
end

#action_web_serviceObject

A stub for setting options on ActionWebService::Base



368
369
370
# File 'lib/initializer.rb', line 368

def action_web_service
  @action_web_service
end

#active_recordObject

A stub for setting options on ActiveRecord::Base



371
372
373
# File 'lib/initializer.rb', line 371

def active_record
  @active_record
end

#breakpoint_serverObject

Whether or not to use the breakpoint server (boolean)



374
375
376
# File 'lib/initializer.rb', line 374

def breakpoint_server
  @breakpoint_server
end

#cache_classesObject

Whether or not classes should be cached (set to false if you want application classes to be reloaded on each request)



378
379
380
# File 'lib/initializer.rb', line 378

def cache_classes
  @cache_classes
end

#connection_adaptersObject

The list of connection adapters to load. (By default, all connection adapters are loaded. You can set this to be just the adapter(s) you will use to reduce your application’s load time.)



383
384
385
# File 'lib/initializer.rb', line 383

def connection_adapters
  @connection_adapters
end

#controller_pathsObject

The list of paths that should be searched for controllers. (Defaults to app/controllers and components.)



387
388
389
# File 'lib/initializer.rb', line 387

def controller_paths
  @controller_paths
end

#database_configuration_fileObject

The path to the database configuration file to use. (Defaults to config/database.yml.)



391
392
393
# File 'lib/initializer.rb', line 391

def database_configuration_file
  @database_configuration_file
end

#frameworksObject

The list of muding framework components that should be loaded. (Defaults to :active_record, :action_controller, :action_view, :action_mailer, and :action_web_service).



397
398
399
# File 'lib/initializer.rb', line 397

def frameworks
  @frameworks
end

#load_pathsObject

An array of additional paths to prepend to the load path. By default, all app, lib, vendor and mock paths are included in this list.



401
402
403
# File 'lib/initializer.rb', line 401

def load_paths
  @load_paths
end

#log_levelObject

The log level to use for the default Muding logger. In production mode, this defaults to :info. In development mode, it defaults to :debug.



406
407
408
# File 'lib/initializer.rb', line 406

def log_level
  @log_level
end

#log_pathObject

The path to the log file to use. Defaults to log/##environment.log (e.g. log/development.log or log/production.log).



410
411
412
# File 'lib/initializer.rb', line 410

def log_path
  @log_path
end

#loggerObject

The specific logger to use. By default, a logger will be created and initialized using #log_path and #log_level, but a programmer may specifically set the logger to use via this accessor and it will be used directly.



416
417
418
# File 'lib/initializer.rb', line 416

def logger
  @logger
end

#plugin_pathsObject

The path to the root of the plugins directory. By default, it is in vendor/plugins.



427
428
429
# File 'lib/initializer.rb', line 427

def plugin_paths
  @plugin_paths
end

#view_pathObject

The root of the application’s views. (Defaults to app/views.)



419
420
421
# File 'lib/initializer.rb', line 419

def view_path
  @view_path
end

#whiny_nilsObject

Set to true if you want to be warned (noisily) when you try to invoke any method of nil. Set to false for the standard Ruby behavior.



423
424
425
# File 'lib/initializer.rb', line 423

def whiny_nils
  @whiny_nils
end

Instance Method Details

#after_initialize(&after_initialize_block) ⇒ Object

Sets a block which will be executed after muding has been fully initialized. Useful for per-environment configuration which depends on the framework being fully initialized.



471
472
473
# File 'lib/initializer.rb', line 471

def after_initialize(&after_initialize_block)
  @after_initialize_block = after_initialize_block
end

#after_initialize_blockObject

Returns the block set in Configuration#after_initialize



476
477
478
# File 'lib/initializer.rb', line 476

def after_initialize_block
  @after_initialize_block
end

#database_configurationObject

Loads and returns the contents of the #database_configuration_file. The contents of the file are processed via ERB before being sent through YAML::load.



452
453
454
# File 'lib/initializer.rb', line 452

def database_configuration
  YAML::load(ERB.new(IO.read(database_configuration_file)).result)
end

#environmentObject

Return the currently selected environment. By default, it returns the value of the MUDING_ENV constant.



464
465
466
# File 'lib/initializer.rb', line 464

def environment
  ::MUDING_ENV
end

#environment_pathObject

The path to the current environment’s file (development.rb, etc.). By default the file is at config/environments/#{environment}.rb.



458
459
460
# File 'lib/initializer.rb', line 458

def environment_path
  "#{root_path}/config/environments/#{environment}.rb"
end