thecore_backend_commons 2.2.3 → 2.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/jobs/application_job.rb +2 -0
- data/config/initializers/thecore_backend_commons_app_configs.rb +29 -0
- data/config/locales/en.activerecord.yml +6 -0
- data/config/locales/en.contact_mailer.custom.yml +5 -0
- data/config/locales/en.devise.custom.yml +19 -0
- data/config/locales/en.yml +33 -0
- data/config/locales/it.activerecord.yml +20 -0
- data/config/locales/it.contact_mailer.custom.yml +5 -0
- data/config/locales/it.devise.custom.yml +19 -0
- data/config/locales/it.yml +44 -0
- data/lib/concerns/thecore_backend_commons_user.rb +10 -0
- data/lib/patches/active_record_extensions.rb +132 -0
- data/lib/patches/application_record_loader.rb +3 -0
- data/lib/patches/date_format.rb +27 -0
- data/lib/patches/integer_extensions.rb +23 -0
- data/lib/patches/postgresql_drop_replacement.rb +12 -0
- data/lib/patches/string_extensions.rb +11 -0
- data/lib/patches/thecore.rb +12 -0
- data/lib/patches/thecore_rails_admin_bulk_delete_concern.rb +16 -0
- data/lib/patches/thecore_rails_admin_export_concern.rb +16 -0
- data/lib/thecore_backend_commons.rb +2 -0
- data/lib/thecore_backend_commons/version.rb +1 -1
- metadata +22 -4
- data/config/initializers/after_initialize_thecore_backend_commons.rb +0 -10
- data/config/initializers/thecore_backend_commons_application.rb +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3fcecc224766d5f821032c8d6fd553c6aef6bae1d6f57a47511b3cba6a263633
|
4
|
+
data.tar.gz: 98575087ff4be3f30c68a85ffb16a34a517e89e495926b243eb7d1ebc89f5c33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ff4c636f60705b839aad89b496b73ecb2b671c0ca12c5972497ac297cc76cada7cee4d8238317868e1e6c5eaefac9109b9a838d708b74b7dee4260f013a7061
|
7
|
+
data.tar.gz: aa555f4e0735c1e3c3ef35789c9de9793d79b0c4a32f5281c79a78aa6b2a6e32755e688f5139a9ad7c8174ab2417420d3384ef8d63349c16465bfaf1138ce655
|
@@ -0,0 +1,29 @@
|
|
1
|
+
Rails.application.configure do
|
2
|
+
# I18n
|
3
|
+
config.i18n.available_locales = %w(it en)
|
4
|
+
config.i18n.default_locale = :it
|
5
|
+
config.time_zone = 'Rome'
|
6
|
+
# Active Storage
|
7
|
+
config.active_storage.configure(
|
8
|
+
:Disk,
|
9
|
+
root: Rails.root.join("storage")
|
10
|
+
)
|
11
|
+
# AFTER INITIALIZE Good place to load things that must have a bit of initialization
|
12
|
+
# setup on order to work (and not be overrided).
|
13
|
+
config.after_initialize do
|
14
|
+
# In development be sure to load all the namespaces
|
15
|
+
# in order to have working reflection and meta-programming.
|
16
|
+
if Rails.env.development?
|
17
|
+
Rails.configuration.eager_load_namespaces.each(&:eager_load!) if Rails.version.to_i == 5 #Rails 5
|
18
|
+
Zeitwerk::Loader.eager_load_all if Rails.version.to_i >= 6 #Rails 6
|
19
|
+
end
|
20
|
+
|
21
|
+
# include the extensions
|
22
|
+
ActiveRecord::Base.send(:include, ActiveRecordExtensions)
|
23
|
+
Integer.send(:include, FixnumConcern)
|
24
|
+
String.send(:include, StringConcern)
|
25
|
+
RailsAdmin::Config::Actions::Export.send(:include, ExportConcern)
|
26
|
+
RailsAdmin::Config::Actions::BulkDelete.send(:include, BulkDeleteConcern)
|
27
|
+
User.send(:include, ThecoreBackendCommonsUser)
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
en:
|
2
|
+
devise:
|
3
|
+
failure:
|
4
|
+
user:
|
5
|
+
invalid: Incorrect login credentials.
|
6
|
+
not_found_in_database: Incorrect login credentials.
|
7
|
+
mailer:
|
8
|
+
password_changed_instructions:
|
9
|
+
greeting: Welcome %{recipient}!
|
10
|
+
instruction: We sent you this email to inform about password change.
|
11
|
+
instruction_2: If you didn't changed password, we ask you to contact our customer service, please.
|
12
|
+
shared:
|
13
|
+
links:
|
14
|
+
sign_out: Log out
|
15
|
+
descriptions:
|
16
|
+
current_password_needed: (we need your current password to confirm your changes)
|
17
|
+
leave_blank: (leave blank if you don't want to change it)
|
18
|
+
validations:
|
19
|
+
minimum_length: "%{length} characters minimum"
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Files in the config/locales directory are used for internationalization
|
2
|
+
# and are automatically loaded by Rails. If you want to use locales other
|
3
|
+
# than English, add the necessary files in this directory.
|
4
|
+
#
|
5
|
+
# To use the locales, use `I18n.t`:
|
6
|
+
#
|
7
|
+
# I18n.t 'hello'
|
8
|
+
#
|
9
|
+
# In views, this is aliased to just `t`:
|
10
|
+
#
|
11
|
+
# <%= t('hello') %>
|
12
|
+
#
|
13
|
+
# To use a different locale, set it with `I18n.locale`:
|
14
|
+
#
|
15
|
+
# I18n.locale = :es
|
16
|
+
#
|
17
|
+
# This would use the information in config/locales/es.yml.
|
18
|
+
#
|
19
|
+
# To learn more, please read the Rails Internationalization guide
|
20
|
+
# available at http://guides.rubyonrails.org/i18n.html.
|
21
|
+
|
22
|
+
en:
|
23
|
+
current_user: Current user
|
24
|
+
hello: "Hello world"
|
25
|
+
dashboard: "Dashboard"
|
26
|
+
contact: "Contact"
|
27
|
+
manage: "Manage"
|
28
|
+
sign_out: "Sign Out"
|
29
|
+
admin:
|
30
|
+
links:
|
31
|
+
label: Links
|
32
|
+
settings:
|
33
|
+
advanced: Advanced
|
@@ -0,0 +1,20 @@
|
|
1
|
+
it:
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
user:
|
5
|
+
one: Utente
|
6
|
+
other: Utenti
|
7
|
+
attributes:
|
8
|
+
user:
|
9
|
+
email: E-Mail
|
10
|
+
username: Nome Utente
|
11
|
+
code: Codice
|
12
|
+
roles: Ruoli
|
13
|
+
admin: Amministratore?
|
14
|
+
created_at: Data di Creazione
|
15
|
+
locked: Bloccato?
|
16
|
+
third_party: Ente Terzo?
|
17
|
+
password: Password
|
18
|
+
password_confirmation: Conferma Password
|
19
|
+
descriptions:
|
20
|
+
user: In questa sezione dell'applicazione potete cercare nella lista degli utenti in diversi modi usando i filtri o ordinare la lista secondo diversi campi.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
it:
|
2
|
+
devise:
|
3
|
+
failure:
|
4
|
+
user:
|
5
|
+
invalid: Credenziali di accesso errate.
|
6
|
+
not_found_in_database: Credenziali di accesso errate.
|
7
|
+
mailer:
|
8
|
+
password_changed_instructions:
|
9
|
+
greeting: Benvenuto %{recipient}!
|
10
|
+
instruction: Le abbiamo inviato questa email per notificarle il fatto che la sua password è stata cambiata.
|
11
|
+
instruction_2: Se non è stato lei a richiedere la modifica della password, la preghiamo di contattare il servizio clienti.
|
12
|
+
shared:
|
13
|
+
links:
|
14
|
+
sign_out: Esci
|
15
|
+
descriptions:
|
16
|
+
current_password_needed: (è necessario inserire la password corrente per autorizzare la modifica)
|
17
|
+
leave_blank: (lasciare vuota se non la si vuole modificare)
|
18
|
+
validations:
|
19
|
+
minimum_length: la lunghezza minima è di %{length} caratteri
|
@@ -0,0 +1,44 @@
|
|
1
|
+
it:
|
2
|
+
current_user: Utente corrente
|
3
|
+
hello: "Ciao Mondo"
|
4
|
+
dashboard: "Pannello di controllo"
|
5
|
+
contact: "Aiutaci a Migliorare"
|
6
|
+
manage: "Gestione"
|
7
|
+
sign_out: "Uscita"
|
8
|
+
advanced: Impostazioni
|
9
|
+
main_records: Anagrafiche
|
10
|
+
errors:
|
11
|
+
messages:
|
12
|
+
invalid: contiene caratteri invalidi
|
13
|
+
tiered_times:
|
14
|
+
dd:
|
15
|
+
zero: "0 Giorni"
|
16
|
+
one: "%{count} Giorno"
|
17
|
+
other: "%{count} Giorni"
|
18
|
+
hh:
|
19
|
+
zero: "0 Ore"
|
20
|
+
one: "%{count} Ora"
|
21
|
+
other: "%{count} Ore"
|
22
|
+
mm:
|
23
|
+
zero: "0 Minuti"
|
24
|
+
one: "%{count} Minuto"
|
25
|
+
other: "%{count} Minuti"
|
26
|
+
ss:
|
27
|
+
zero: "0 Secondi"
|
28
|
+
one: "%{count} Secondo"
|
29
|
+
other: "%{count} Secondi"
|
30
|
+
admin:
|
31
|
+
links:
|
32
|
+
label: Collegamenti
|
33
|
+
tools:
|
34
|
+
label: "Strumenti"
|
35
|
+
settings:
|
36
|
+
label: "Impostazioni"
|
37
|
+
advanced: Avanzate
|
38
|
+
registries: Anagrafiche
|
39
|
+
operations: Operatività
|
40
|
+
actions:
|
41
|
+
charts:
|
42
|
+
menu: Analisi
|
43
|
+
title: Grafici
|
44
|
+
breadcrumb: Grafici
|
@@ -0,0 +1,132 @@
|
|
1
|
+
module ActiveRecordExtensions
|
2
|
+
extend ActiveSupport::Concern
|
3
|
+
|
4
|
+
# add your static(class) methods here
|
5
|
+
module ClassMethods
|
6
|
+
#E.g: Order.top_ten
|
7
|
+
def top_ten
|
8
|
+
limit(10)
|
9
|
+
end
|
10
|
+
|
11
|
+
def identifier_starts_with letter
|
12
|
+
# Se ha name o code o barcode, uso uno di questi:
|
13
|
+
column = if self.column_names.include? "name"
|
14
|
+
:name
|
15
|
+
elsif self.column_names.include? "title"
|
16
|
+
:title
|
17
|
+
elsif self.column_names.include? "code"
|
18
|
+
:code
|
19
|
+
elsif self.column_names.include? "barcode"
|
20
|
+
:barcode
|
21
|
+
end
|
22
|
+
# Ecco la ricerca dedicata a Postgres, la facciamo multiplatform? Fatto
|
23
|
+
query = "#{letter}%"
|
24
|
+
match = arel_table[column].matches(query)
|
25
|
+
where(match)
|
26
|
+
end
|
27
|
+
|
28
|
+
def starts_with_a
|
29
|
+
identifier_starts_with :a
|
30
|
+
end
|
31
|
+
|
32
|
+
def starts_with_b
|
33
|
+
identifier_starts_with :b
|
34
|
+
end
|
35
|
+
|
36
|
+
def starts_with_c
|
37
|
+
identifier_starts_with :c
|
38
|
+
end
|
39
|
+
|
40
|
+
def starts_with_d
|
41
|
+
identifier_starts_with :d
|
42
|
+
end
|
43
|
+
|
44
|
+
def starts_with_e
|
45
|
+
identifier_starts_with :e
|
46
|
+
end
|
47
|
+
|
48
|
+
def starts_with_f
|
49
|
+
identifier_starts_with :f
|
50
|
+
end
|
51
|
+
|
52
|
+
def starts_with_g
|
53
|
+
identifier_starts_with :g
|
54
|
+
end
|
55
|
+
|
56
|
+
def starts_with_h
|
57
|
+
identifier_starts_with :h
|
58
|
+
end
|
59
|
+
|
60
|
+
def starts_with_i
|
61
|
+
identifier_starts_with :i
|
62
|
+
end
|
63
|
+
|
64
|
+
def starts_with_j
|
65
|
+
identifier_starts_with :j
|
66
|
+
end
|
67
|
+
|
68
|
+
def starts_with_k
|
69
|
+
identifier_starts_with :k
|
70
|
+
end
|
71
|
+
|
72
|
+
def starts_with_l
|
73
|
+
identifier_starts_with :l
|
74
|
+
end
|
75
|
+
|
76
|
+
def starts_with_m
|
77
|
+
identifier_starts_with :m
|
78
|
+
end
|
79
|
+
|
80
|
+
def starts_with_n
|
81
|
+
identifier_starts_with :n
|
82
|
+
end
|
83
|
+
|
84
|
+
def starts_with_o
|
85
|
+
identifier_starts_with :o
|
86
|
+
end
|
87
|
+
|
88
|
+
def starts_with_p
|
89
|
+
identifier_starts_with :p
|
90
|
+
end
|
91
|
+
|
92
|
+
def starts_with_q
|
93
|
+
identifier_starts_with :q
|
94
|
+
end
|
95
|
+
|
96
|
+
def starts_with_r
|
97
|
+
identifier_starts_with :r
|
98
|
+
end
|
99
|
+
|
100
|
+
def starts_with_s
|
101
|
+
identifier_starts_with :s
|
102
|
+
end
|
103
|
+
|
104
|
+
def starts_with_t
|
105
|
+
identifier_starts_with :t
|
106
|
+
end
|
107
|
+
|
108
|
+
def starts_with_u
|
109
|
+
identifier_starts_with :u
|
110
|
+
end
|
111
|
+
|
112
|
+
def starts_with_v
|
113
|
+
identifier_starts_with :v
|
114
|
+
end
|
115
|
+
|
116
|
+
def starts_with_w
|
117
|
+
identifier_starts_with :w
|
118
|
+
end
|
119
|
+
|
120
|
+
def starts_with_x
|
121
|
+
identifier_starts_with :x
|
122
|
+
end
|
123
|
+
|
124
|
+
def starts_with_y
|
125
|
+
identifier_starts_with :y
|
126
|
+
end
|
127
|
+
|
128
|
+
def starts_with_z
|
129
|
+
identifier_starts_with :z
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# Date
|
2
|
+
# ----------------------------
|
3
|
+
#Date::DATE_FORMATS[:default] = "%Y-%m-%d" # 2013-11-03
|
4
|
+
Date::DATE_FORMATS[:default] = "%B %e, %Y" # November 3, 2013
|
5
|
+
#Date::DATE_FORMATS[:default] = "%e %b %Y" # 3 Nov 2013
|
6
|
+
#Date::DATE_FORMATS[:default] = "%Y%m%d" # 20131103
|
7
|
+
#Date::DATE_FORMATS[:default] = "%e %b" # 3 Nov
|
8
|
+
#Date::DATE_FORMATS[:default] = "" # custom
|
9
|
+
|
10
|
+
# DateTime
|
11
|
+
# ----------------------------
|
12
|
+
#DateTime::DATE_FORMATS[:default] = "%Y-%m-%d" # 2013-11-03 14:22:18
|
13
|
+
DateTime::DATE_FORMATS[:default] = "%B %e, %Y" # November 3, 2013 14:22
|
14
|
+
#DateTime::DATE_FORMATS[:default] = "%e %b %Y" # Sun, 3 Nov 2013 14:22:18 -0700
|
15
|
+
#DateTime::DATE_FORMATS[:default] = "%Y%m%d" # 20131103142218
|
16
|
+
#DateTime::DATE_FORMATS[:default] = "%e %b" # 3 Nov 14:22
|
17
|
+
#DateTime::DATE_FORMATS[:default] = "" # custom
|
18
|
+
|
19
|
+
# Time
|
20
|
+
# ----------------------------
|
21
|
+
#Time::DATE_FORMATS[:default] = "%Y-%m-%d %H:%M:%S" # 2013-11-03 14:22:18
|
22
|
+
#Time::DATE_FORMATS[:default] = "%B %d, %Y %H:%M" # November 3, 2013 14:22
|
23
|
+
#Time::DATE_FORMATS[:default] = "%a, %d %b %Y %H:%M:%S %z" # Sun, 3 Nov 2013 14:22:18 -0700
|
24
|
+
#Time::DATE_FORMATS[:default] = "%d %b %H:%M" # 3 Nov 14:22
|
25
|
+
#Time::DATE_FORMATS[:default] = "%Y%m%d%H%M%S" # 20131103142218
|
26
|
+
Time::DATE_FORMATS[:default] = "%H:%M" # 14:22
|
27
|
+
#Time::DATE_FORMATS[:default] = "" # custom
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'active_support/concern'
|
2
|
+
|
3
|
+
module FixnumConcern
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
included do
|
6
|
+
def to_tiered_times skip_seconds = false
|
7
|
+
# Actual calculations
|
8
|
+
mm, ss = self.divmod(60)
|
9
|
+
hh, mm = mm.divmod(60)
|
10
|
+
dd, hh = hh.divmod(24)
|
11
|
+
|
12
|
+
# Presentation
|
13
|
+
sentence = []
|
14
|
+
sentence << I18n.t("tiered_times.dd", count: dd) unless dd.zero?
|
15
|
+
sentence << I18n.t("tiered_times.hh", count: hh) unless hh.zero?
|
16
|
+
sentence << I18n.t("tiered_times.mm", count: mm) unless mm.zero?
|
17
|
+
sentence << I18n.t("tiered_times.ss", count: ss) if !ss.zero? && !skip_seconds
|
18
|
+
|
19
|
+
# to_sentence è una estensione rails che traduce nella forma più corretta (decisamente migliore del join(", "))
|
20
|
+
sentence.to_sentence
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module ActiveRecord
|
2
|
+
module Tasks
|
3
|
+
class PostgreSQLDatabaseTasks
|
4
|
+
# Allows drop on DBs currently in use.
|
5
|
+
def drop
|
6
|
+
establish_master_connection
|
7
|
+
connection.select_all "select pg_terminate_backend(pg_stat_activity.pid) from pg_stat_activity where datname='#{configuration['database']}' AND state='idle';"
|
8
|
+
connection.drop_database configuration['database']
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'thecore_rails_admin_export_concern'
|
2
|
+
require 'thecore_rails_admin_bulk_delete_concern'
|
3
|
+
|
4
|
+
require 'date_format'
|
5
|
+
|
6
|
+
require 'string_extensions'
|
7
|
+
require 'integer_extensions'
|
8
|
+
require 'active_record_extensions'
|
9
|
+
|
10
|
+
require 'postgresql_drop_replacement'
|
11
|
+
|
12
|
+
require 'application_record_loader'
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'active_support/concern'
|
2
|
+
|
3
|
+
module BulkDeleteConcern
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
included do
|
6
|
+
# Should the action be visible
|
7
|
+
# Edit By taris, it shows the button only if there are records displayed
|
8
|
+
register_instance_option :visible? do
|
9
|
+
# If not in index, then return true,
|
10
|
+
# otherwise it wont' be added to the list
|
11
|
+
# of all Actions during rails initialization
|
12
|
+
# In index, instead, I show it only if there are records in the current view
|
13
|
+
bindings[:controller].action_name == "index" ? (authorized? && !bindings[:controller].instance_variable_get("@objects").blank?) : true
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'active_support/concern'
|
2
|
+
|
3
|
+
module ExportConcern
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
included do
|
6
|
+
# Should the action be visible
|
7
|
+
# Edit By taris, it shows the button only if there are records displayed
|
8
|
+
register_instance_option :visible? do
|
9
|
+
# If not in index, then return true,
|
10
|
+
# otherwise it wont' be added to the list
|
11
|
+
# of all Actions during rails initialization
|
12
|
+
# In index, instead, I show it only if there are records in the current view
|
13
|
+
bindings[:controller].action_name == "index" ? (authorized? && !bindings[:controller].instance_variable_get("@objects").blank?) : true
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thecore_backend_commons
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gabriele Tassoni
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thecore_auth_commons
|
@@ -78,10 +78,28 @@ files:
|
|
78
78
|
- README.md
|
79
79
|
- Rakefile
|
80
80
|
- app/assets/config/thecore_backend_commons_manifest.js
|
81
|
-
-
|
82
|
-
- config/initializers/
|
81
|
+
- app/jobs/application_job.rb
|
82
|
+
- config/initializers/thecore_backend_commons_app_configs.rb
|
83
|
+
- config/locales/en.activerecord.yml
|
84
|
+
- config/locales/en.contact_mailer.custom.yml
|
85
|
+
- config/locales/en.devise.custom.yml
|
86
|
+
- config/locales/en.yml
|
87
|
+
- config/locales/it.activerecord.yml
|
88
|
+
- config/locales/it.contact_mailer.custom.yml
|
89
|
+
- config/locales/it.devise.custom.yml
|
90
|
+
- config/locales/it.yml
|
83
91
|
- config/routes.rb
|
84
92
|
- db/migrate/20190920115549_create_active_storage_tables.active_storage.rb
|
93
|
+
- lib/concerns/thecore_backend_commons_user.rb
|
94
|
+
- lib/patches/active_record_extensions.rb
|
95
|
+
- lib/patches/application_record_loader.rb
|
96
|
+
- lib/patches/date_format.rb
|
97
|
+
- lib/patches/integer_extensions.rb
|
98
|
+
- lib/patches/postgresql_drop_replacement.rb
|
99
|
+
- lib/patches/string_extensions.rb
|
100
|
+
- lib/patches/thecore.rb
|
101
|
+
- lib/patches/thecore_rails_admin_bulk_delete_concern.rb
|
102
|
+
- lib/patches/thecore_rails_admin_export_concern.rb
|
85
103
|
- lib/tasks/thecore_backend_commons_tasks.rake
|
86
104
|
- lib/thecore_backend_commons.rb
|
87
105
|
- lib/thecore_backend_commons/engine.rb
|
@@ -1,10 +0,0 @@
|
|
1
|
-
Rails.application.configure do
|
2
|
-
config.after_initialize do
|
3
|
-
# In development be sure to load all the namespaces
|
4
|
-
# in order to have working reflection and meta-programming.
|
5
|
-
if Rails.env.development?
|
6
|
-
Rails.configuration.eager_load_namespaces.each(&:eager_load!) if Rails.version.to_i == 5 #Rails 5
|
7
|
-
Zeitwerk::Loader.eager_load_all if Rails.version.to_i >= 6 #Rails 6
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|