module Daengine class DigitalAssetExtensionProcessor def self.process_extension_file file = Daengine.config[:digital_asset_extension_filepath] if File::exist?(file) Daengine.log("DigitalAssetExtensionProcessor: Started processing #{file}", "info") json = JSON.parse(File.read(file)) json.map {|d| d.symbolize_keys}.each do |doc| da = DigitalAsset.guid_is(doc[:guid]).first if !da.nil? doc.delete(:guid) doc.each_pair do |name, value| da.send("#{name}=", value) if da.respond_to?("#{name}=") end da.save! else Daengine.log("DigitalAssetExtensionProcessor: Skipping guid #{doc[:guid]}", "info") end end Daengine.log("DigitalAssetExtensionProcessor: Finished processing #{file}", "info") else Daengine.log("DigitalAssetExtensionProcessor: File not found #{file}", "info") end end end end