Class: Valkyrie::StorageAdapter::File
- Inherits:
 - 
      Dry::Struct
      
        
- Object
 - Dry::Struct
 - Valkyrie::StorageAdapter::File
 
 
- Defined in:
 - lib/valkyrie/storage_adapter.rb
 
Direct Known Subclasses
Instance Method Summary collapse
- #checksum(digests:) ⇒ Array<Digest>
 - #disk_path ⇒ Object
 - #stream ⇒ Object
 - #valid?(size: nil, digests:) ⇒ Boolean
 
Instance Method Details
#checksum(digests:) ⇒ Array<Digest>
      81 82 83 84 85 86 87 88  | 
    
      # File 'lib/valkyrie/storage_adapter.rb', line 81 def checksum(digests:) io.rewind while (chunk = io.read(4096)) digests.each { |digest| digest.update(chunk) } end digests.map(&:to_s) end  | 
  
#disk_path ⇒ Object
      75 76 77  | 
    
      # File 'lib/valkyrie/storage_adapter.rb', line 75 def disk_path Pathname.new(io.path) end  | 
  
#stream ⇒ Object
      71 72 73  | 
    
      # File 'lib/valkyrie/storage_adapter.rb', line 71 def stream io end  | 
  
#valid?(size: nil, digests:) ⇒ Boolean
      93 94 95 96 97 98 99  | 
    
      # File 'lib/valkyrie/storage_adapter.rb', line 93 def valid?(size: nil, digests:) return false if size && io.size.to_i != size.to_i calc_digests = checksum(digests: digests.keys.map { |alg| Digest(alg.upcase).new }) return false unless digests.values == calc_digests true end  |