diff --git a/app/models/metadata_factory.rb b/app/models/metadata_factory.rb index d7a2e039..8cac1c86 100644 --- a/app/models/metadata_factory.rb +++ b/app/models/metadata_factory.rb @@ -3,6 +3,8 @@ # Devuelve metadatos de cierto tipo class MetadataFactory def self.build(**args) - "Metadata#{args[:type].camelcase}".constantize.new(args) + @@factory_cache ||= {} + @@factory_cache[args[:type]] ||= ('Metadata' + args[:type].to_s.camelcase).constantize + @@factory_cache[args[:type]].new(args) end end