module Shrine::Plugins::AddMetadata::InstanceMethods
Public Instance Methods
extract_metadata(io, **options)
click to toggle source
Calls superclass method
# File lib/shrine/plugins/add_metadata.rb, line 32 def extract_metadata(io, **options) metadata = super extract_custom_metadata(io, **options, metadata: metadata) metadata end
Private Instance Methods
extract_custom_metadata(io, **options)
click to toggle source
# File lib/shrine/plugins/add_metadata.rb, line 42 def extract_custom_metadata(io, **options) opts[:add_metadata][:definitions].each do |name, definition_options, block| result = instance_exec(io, **options, &block) if result.nil? && definition_options[:skip_nil] # Do not store this metadata elsif name options[:metadata].merge! name.to_s => result else options[:metadata].merge! result.transform_keys(&:to_s) if result end # rewind between metadata blocks io.rewind end end