From 58a5b7e627219060c952dadabcbad51bd52434b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 30 Aug 2024 16:10:27 +0200 Subject: [PATCH] Add documentation to customize other Ruby classes --- docs/en/SUMMARY.md | 1 + docs/en/customization/customization.md | 1 + docs/en/customization/ruby.md | 30 ++++++++++++++++++++++++++ docs/es/SUMMARY.md | 1 + docs/es/customization/customization.md | 1 + docs/es/customization/ruby.md | 30 ++++++++++++++++++++++++++ 6 files changed, 64 insertions(+) create mode 100644 docs/en/customization/ruby.md create mode 100644 docs/es/customization/ruby.md diff --git a/docs/en/SUMMARY.md b/docs/en/SUMMARY.md index 79510db6e..1020ab681 100644 --- a/docs/en/SUMMARY.md +++ b/docs/en/SUMMARY.md @@ -37,6 +37,7 @@ * [Controllers](customization/controllers.md) * [Views and HTML](customization/views.md) * [Components](customization/components.md) + * [Other Ruby classes (GraphQL, lib, mailers, builders)](customization/ruby.md) * [Gems](customization/gems.md) * [Application configuration](customization/application.md) diff --git a/docs/en/customization/customization.md b/docs/en/customization/customization.md index 6360790fc..26727f916 100644 --- a/docs/en/customization/customization.md +++ b/docs/en/customization/customization.md @@ -9,5 +9,6 @@ * [Controllers](controllers.md) * [Views and HTML](views.md) * [Components](components.md) +* [Other Ruby classes (GraphQL, lib, mailers, builders)](ruby.md) * [Gems](gems.md) * [Application configuration](application.md) diff --git a/docs/en/customization/ruby.md b/docs/en/customization/ruby.md new file mode 100644 index 000000000..1bd83c156 --- /dev/null +++ b/docs/en/customization/ruby.md @@ -0,0 +1,30 @@ +# Customizing other Ruby classes + +Other than models, controllers and components, there are a few other folders containing Ruby code: + +* `app/form_builders/` +* `app/graphql/` +* `app/lib/` +* `app/mailers/` + +The files in these folders can be customized like any other Ruby file (see [customizing models](models.md) for more information). + +For example, in order to customize the `app/form_builders/consul_form_builder.rb` file, create a file `app/form_builders/custom/consul_form_builder.rb` with the following content: + +```ruby +load Rails.root.join("app", "form_builders", "consul_form_builder.rb") + +class ConsulFormBuilder + # Your custom logic here +end +``` + +Or, in order to customize the `app/lib/remote_translations/caller.rb` file, create a file `app/lib/custom/remote_translations/caller.rb` with the following content: + +```ruby +load Rails.root.join("app", "lib", "remote_translations", "caller.rb") + +class RemoteTranslations::Caller + # Your custom logic here +end +``` diff --git a/docs/es/SUMMARY.md b/docs/es/SUMMARY.md index c025f1f41..8f43d82ac 100644 --- a/docs/es/SUMMARY.md +++ b/docs/es/SUMMARY.md @@ -37,6 +37,7 @@ * [Controladores](customization/controllers.md) * [Vistas y HTML](customization/views.md) * [Componentes](customization/components.md) + * [Otras clases de Ruby (GraphQL, lib, mailers, builders)](customization/ruby.md) * [Gemas](customization/gems.md) * [Configuración de la aplicación](customization/application.md) diff --git a/docs/es/customization/customization.md b/docs/es/customization/customization.md index 36121c64a..e6ffbb0bf 100644 --- a/docs/es/customization/customization.md +++ b/docs/es/customization/customization.md @@ -9,5 +9,6 @@ * [Controladores](controllers.md) * [Vistas y HTML](views.md) * [Componentes](components.md) +* [Otras clases de Ruby (GraphQL, lib, mailers, builders)](ruby.md) * [Gemas](gems.md) * [Configuración de la aplicación](application.md) diff --git a/docs/es/customization/ruby.md b/docs/es/customization/ruby.md new file mode 100644 index 000000000..4c86f8f50 --- /dev/null +++ b/docs/es/customization/ruby.md @@ -0,0 +1,30 @@ +# Personalización de otras clases de Ruby + +Aparte de modelos, controladores y componentes, hay otros directorios que contienen código de Ruby: + +* `app/form_builders/` +* `app/graphql/` +* `app/lib/` +* `app/mailers/` + +Los ficheros en estos directorios pueden personalizarse como cualquier otro fichero de Ruby (véase [personalización de modelos](models.md) para más información). + +Por ejemplo, para personalizar el fichero `app/form_builders/consul_form_builder.rb`, crea el archivo `app/form_builders/custom/consul_form_builder.rb` con el siguiente contenido: + +```ruby +load Rails.root.join("app", "form_builders", "consul_form_builder.rb") + +class ConsulFormBuilder + # Your custom logic here +end +``` + +O, para personalizar el fichero `app/lib/remote_translations/caller.rb`, crea el archivo `app/lib/custom/remote_translations/caller.rb` con el siguiente contenido: + +```ruby +load Rails.root.join("app", "lib", "remote_translations", "caller.rb") + +class RemoteTranslations::Caller + # Your custom logic here +end +```