class AppBox

Public Class Methods

init(env, rails_root) click to toggle source
# File lib/app_box.rb, line 8
def self.init(env, rails_root)
  config_path = "#{rails_root}/config/app_box.yml"
  if File.exists?(config_path)
    data = YAML.load_file(config_path)
    data['default'].each {|name, value| set_property(name, value)}
    if data.include?(env)
      data[env].each {|name, value| set_property(name, value)}
    end
  end
end
method_missing(name, *args, &block) click to toggle source
# File lib/app_box.rb, line 19
def self.method_missing(name, *args, &block)
  AppBox.instance.send(name, *args)
end
set_property(name, value, parent=AppBox) click to toggle source
# File lib/app_box.rb, line 23
def self.set_property(name, value, parent=AppBox)
  if value.class == String || value.class == Array
    if parent.nil?
      AppBox.send "#{name}=", value
    else
      parent.send "#{name}=", value
    end
  elsif value.class == Hash
    parent = parent.send "#{name}=", OpenStruct.new
    value.each do |_name, _value|
      set_property(_name, _value, parent)
    end
  end
end