def generate_product_class_template(
      class_name, module_indent, has_module, require_rb, mnames)
      module_name, class_name = ModuleClassSeparator.separate(class_name)
      methods_template = Generators::ProductMethodTemplate.generate(
        mnames, module_indent)
      fields = get_fields(mnames, module_indent)
      module_start, module_end = module_start_end(has_module, module_name)
      ERB.new(Constants::PRODUCT_CLASS_TEMPLATE).result(binding)
    end
def generate_product_class_template(
      class_name, module_indent, has_module, require_rb, mnames)
      module_name, class_name = ModuleClassSeparator.separate(class_name)
      methods_template = Generators::ProductMethodTemplate.generate(
        mnames, module_indent)
      fields = get_fields(mnames, module_indent)
      module_start, module_end = module_start_end(has_module, module_name)
      ERB.new(Constants::PRODUCT_CLASS_TEMPLATE).result(binding)
    end
rubocop:disable UnusedMethodArgument, UselessAssignment