Class: MultiSync::RemoteResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/multi_sync/resources/remote_resource.rb

Constant Summary

Constants inherited from Resource

MultiSync::Resource::AWS_ATTRIBUTES

Instance Method Summary collapse

Methods inherited from Resource

#<=>, #==, #hash, #matching_etag?

Methods included from Mixins::LogHelper

#class_name

Instance Method Details

#bodyObject



7
8
9
# File 'lib/multi_sync/resources/remote_resource.rb', line 7

def body
  file.body
end

#determine_content_lengthObject



25
26
27
# File 'lib/multi_sync/resources/remote_resource.rb', line 25

def determine_content_length
  file.content_length
end

#determine_content_typeObject



21
22
23
# File 'lib/multi_sync/resources/remote_resource.rb', line 21

def determine_content_type
  file.content_type
end

#determine_etagObject



11
12
13
14
15
# File 'lib/multi_sync/resources/remote_resource.rb', line 11

def determine_etag
  file.etag
rescue NoMethodError # Fog::Storage::Local::File's don't have an etag method :(
  Digest::MD5.hexdigest(File.read(path_with_root))
end

#determine_mtimeObject



17
18
19
# File 'lib/multi_sync/resources/remote_resource.rb', line 17

def determine_mtime
  file.last_modified
end