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