From 51419b83eac59a840e5702ee2f4e19ab67d4ffa9 Mon Sep 17 00:00:00 2001 From: Jonathan Abbett Date: Thu, 17 Jun 2021 12:44:34 -0400 Subject: [PATCH] Clean up initializer --- .../abraham/templates/initializer.rb | 22 +++++++++---------- test/dummy/config/initializers/abraham.rb | 1 - 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/lib/generators/abraham/templates/initializer.rb b/lib/generators/abraham/templates/initializer.rb index 9bc5502..b5bbe26 100644 --- a/lib/generators/abraham/templates/initializer.rb +++ b/lib/generators/abraham/templates/initializer.rb @@ -2,18 +2,18 @@ Rails.application.configure do tours = {} + tours_root = Pathname.new(Rails.root.join("config/tours")) - if Rails.root.join('config/tours').exist? - Dir[Rails.root.join('config/tours/*/')].each do |dir| - Dir[dir + '*.yml'].each do |yml| - path_parts = yml.split(File::SEPARATOR) - controller = path_parts[path_parts.size - 2] - file_parts = path_parts[path_parts.size - 1].split('.') - action = file_parts[0] - locale = file_parts[1] - t = YAML.load_file(yml) - tours["#{controller}.#{action}.#{locale}"] = t - end + if Rails.root.join("config/tours").exist? + Dir.glob(Rails.root.join("config/tours/**/*.yml")).each do |yml| + relative_filename = Pathname.new(yml).relative_path_from(tours_root) + # `controller_path` is either "controller_name" or "module_name/controller_name" + controller_path, filename = relative_filename.split + file_parts = filename.to_s.split(".") + action = file_parts[0] + locale = file_parts[1] + t = YAML.load_file(yml) + tours["#{controller_path}.#{action}.#{locale}"] = t end end diff --git a/test/dummy/config/initializers/abraham.rb b/test/dummy/config/initializers/abraham.rb index 0dde167..b5bbe26 100644 --- a/test/dummy/config/initializers/abraham.rb +++ b/test/dummy/config/initializers/abraham.rb @@ -14,7 +14,6 @@ Rails.application.configure do locale = file_parts[1] t = YAML.load_file(yml) tours["#{controller_path}.#{action}.#{locale}"] = t - puts "#{controller_path}.#{action}.#{locale}" end end