lib/extr/engine.rb in extr-1.0.2 vs lib/extr/engine.rb in extr-1.0.3
- old
+ new
@@ -1,35 +1,45 @@
module Extr
class Engine < Rails::Engine
- initializer "read_ext_config_from_yaml" do |app|
+ initializer "allow reloading of extdirect.yml file" do |app|
+ app.config.reload_classes_only_on_change = false if Rails.env.development?
+ end
+ config.to_prepare do
+ Rails.logger.info("Reload config from extdirect.yml file")
+ Config.initialize!
yaml_path = Rails.root.join("config", "extdirect.yml")
if File.exists? yaml_path
- YAML.load_file(yaml_path).each do |ns, klasses|
- klasses.each do |klass,options|
- action = options["name"] || klass.gsub("_","")
- Config.controller_path[action]=klass.gsub("_","::").to_s
- Config.controller_config[ns][action]= [] if Config.controller_config[ns][action].nil?
- keys = ["methods","formHandler"]
-
- (options.keys & keys).each do |key|
- unless options[key].nil?
- options[key].stringify_keys!.each do |mtd, mcfg|
- method_hash = mcfg.is_a?(Hash) ? {'name' => mtd}.merge!(mcfg) : {'name' => mtd, 'len' => mcfg || 1}
- method_hash[key]= true if key == "formHandler"
- Config.controller_config[ns][action] << method_hash
- end
- end
- #END KEY LOOP
+ begin
+ YAML.load_file(yaml_path).each do |ns, klasses|
+ klasses.each do |klass,options|
+ action = options["name"] || klass.gsub("_","")
+ Config.controller_path[action]=klass.gsub("_","::").to_s
+ Config.controller_config[ns][action]= [] if Config.controller_config[ns][action].nil?
+ keys = ["methods","formHandler"]
+
+ (options.keys & keys).each do |key|
+ unless options[key].nil?
+ options[key].stringify_keys!.each do |mtd, mcfg|
+ method_hash = mcfg.is_a?(Hash) ? {'name' => mtd}.merge!(mcfg) : {'name' => mtd, 'len' => mcfg || 1}
+ method_hash[key]= true if key == "formHandler"
+ Config.controller_config[ns][action] << method_hash
+ end
+ end
+ #END KEY LOOP
+ end
+
+ end
end
-
- end
+ rescue
+ Rails.logger.debug("Check your extdirect.yml file")
end
#END IF FILE
end
end
+
end
end