34 lines
662 B
Ruby
34 lines
662 B
Ruby
# frozen_string_literal: true
|
|
|
|
class EmailTemplatesFinder
|
|
def self.list
|
|
path = File.join(Rails.root, "config", "locales", "server.en.yml")
|
|
yaml = YAML.load_file(path, aliases: true)
|
|
new(yaml).list
|
|
end
|
|
|
|
attr_reader :list
|
|
|
|
def initialize(obj)
|
|
@obj = obj
|
|
@list = []
|
|
check(@obj, "")
|
|
@list.sort!
|
|
end
|
|
|
|
private
|
|
|
|
def check(obj, path)
|
|
obj.each do |key, val|
|
|
if Hash === val
|
|
next_path = "#{path}#{key}"
|
|
if val.key?("text_body_template") && val.key?("subject_template")
|
|
@list << next_path.sub("en.", "")
|
|
else
|
|
check(val, "#{next_path}.")
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|