class ConfigPlus::Config
Configuration of ConfigPlus
Public Class Methods
default_properties()
click to toggle source
# File lib/config_plus/config.rb, line 4 def self.default_properties { config_method: :config, extension: nil, namespace: nil, node_model: Node, root_dir: nil, source: nil, loader_logic: :default, } end
new()
click to toggle source
# File lib/config_plus/config.rb, line 16 def initialize props = self.class.default_properties.each do |k, v| instance_variable_set("@#{k}", v) end setup_attrs(props.keys) end
Public Instance Methods
has_property?(name)
click to toggle source
# File lib/config_plus/config.rb, line 44 def has_property?(name) instance_variable_defined?("@#{name}") end
loader()
click to toggle source
returns a new loader instance
# File lib/config_plus/config.rb, line 25 def loader Loader.new(self) end
loader_logic()
click to toggle source
returns loader class specified by loader_logic
property
# File lib/config_plus/config.rb, line 30 def loader_logic return @loader_logic if @loader_logic.is_a?(Class) name = ::ConfigPlus::Helper.classify(@loader_logic.to_s) name = "#{name}LoaderLogic" raise "Unknown loader logic named `#{name}'" unless ::ConfigPlus::const_defined?(name) ::ConfigPlus::const_get(name) end
property_set(name, value)
click to toggle source
# File lib/config_plus/config.rb, line 48 def property_set(name, value) instance_variable_set("@#{name}", value) end
version()
click to toggle source
# File lib/config_plus/config.rb, line 40 def version VERSION end
Private Instance Methods
setup_attrs(attr_names)
click to toggle source
# File lib/config_plus/config.rb, line 54 def setup_attrs(attr_names) singleton_class.instance_eval do attr_writer *attr_names attr_reader *(attr_names - instance_methods) end end