diff options
author | Azul <azul@riseup.net> | 2016-07-04 20:19:21 +0200 |
---|---|---|
committer | Azul <azul@riseup.net> | 2016-07-05 08:56:05 +0200 |
commit | 638acc59a241e141cf0fc9ccbf4e3c5578b98f0c (patch) | |
tree | 82c09920af4053b42eaac22365af239078491000 /engines | |
parent | 949e17c7c30c5b179ba6545782ae995178481f78 (diff) |
Fix db:migrate and similar tasks
We saw errors from duplicate loading of LocalEmail and
LoginFormatValidation. The latter resulted in a crash.
In an attempt to ensure all subclasses of Couchrest::Model::Base are
loaded Couchrest::Model::Utils::Migrate requires all files in app/models.
We have an extension that does the same for the engines.
During this process LoginFormatValidation and LocalEmail were autoloaded
when 'identity' was required. Afterwards they were required again.
It looks like rails' autoload mechanism does not play nicely with require.
So to make sure they are not autoloaded first move the concerns and
helper classes into the lib directory and require them explicitly.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/support/app/models/account_extension/tickets.rb | 13 | ||||
-rw-r--r-- | engines/support/config/initializers/account_lifecycle.rb | 2 | ||||
-rw-r--r-- | engines/support/lib/account_extension/tickets.rb | 15 |
3 files changed, 17 insertions, 13 deletions
diff --git a/engines/support/app/models/account_extension/tickets.rb b/engines/support/app/models/account_extension/tickets.rb deleted file mode 100644 index f38d5fd..0000000 --- a/engines/support/app/models/account_extension/tickets.rb +++ /dev/null @@ -1,13 +0,0 @@ -module AccountExtension::Tickets - extend ActiveSupport::Concern - - def destroy_with_tickets(destroy_identities=false) - Ticket.destroy_all_from(self.user) - destroy_without_tickets(destroy_identities) - end - - included do - alias_method_chain :destroy, :tickets - end - -end diff --git a/engines/support/config/initializers/account_lifecycle.rb b/engines/support/config/initializers/account_lifecycle.rb index d9f04c1..9060757 100644 --- a/engines/support/config/initializers/account_lifecycle.rb +++ b/engines/support/config/initializers/account_lifecycle.rb @@ -1,3 +1,5 @@ +require 'account_extension/tickets' + ActiveSupport.on_load(:account) do include AccountExtension::Tickets end diff --git a/engines/support/lib/account_extension/tickets.rb b/engines/support/lib/account_extension/tickets.rb new file mode 100644 index 0000000..63f4873 --- /dev/null +++ b/engines/support/lib/account_extension/tickets.rb @@ -0,0 +1,15 @@ +module AccountExtension + module Tickets + extend ActiveSupport::Concern + + def destroy_with_tickets(destroy_identities=false) + Ticket.destroy_all_from(self.user) + destroy_without_tickets(destroy_identities) + end + + included do + alias_method_chain :destroy, :tickets + end + + end +end |