class Racket::Settings::Application
Class for storing application settings.
Public Class Methods
directory_setting(symbol, directory)
click to toggle source
Creates a directory setting with a default value.
@param [Symbol] symbol @param [String] directory @return [nil]
# File lib/racket/settings/application.rb, line 52 def self.directory_setting(symbol, directory) define_directory_method(symbol, "@#{symbol}".to_sym, directory) attr_writer(symbol) && nil end
new(utils, defaults = {})
click to toggle source
Calls superclass method
# File lib/racket/settings/application.rb, line 42 def initialize(utils, defaults = {}) @utils = utils super(defaults) end
service(options = {})
click to toggle source
Returns a service proc that can be used by the registry.
@param [Hash] options @return [Proc]
# File lib/racket/settings/application.rb, line 38 def self.service(options = {}) ->(reg) { new(reg.utils, options) } end
Private Class Methods
define_directory_method(symbol, ivar, directory)
click to toggle source
# File lib/racket/settings/application.rb, line 57 def self.define_directory_method(symbol, ivar, directory) define_method symbol do instance_variable_set(ivar, directory) unless instance_variables.include?(ivar) return nil unless (value = instance_variable_get(ivar)) @utils.build_path(value) end end