# frozen_string_literal: true module Rails class DecoratorGenerator < Rails::Generators::NamedBase source_root File.expand_path("../templates", __FILE__) check_class_collision suffix: "Decorator" def copy_files path = File.join("app", "decorators", class_path, "#{file_name}_decorator.rb") template("decorator.rb.tt", path) end private def file_name @_file_name ||= remove_possible_suffix(super) end def remove_possible_suffix(name) name.sub(/_?decorator$/i, "") end end end