Class: StaticdUtils::MemoryFile

Inherits:
Object
  • Object
show all
Defined in:
lib/staticd_utils/memory_file.rb

Overview

Make an IO object behave like File objects.

Example:

io = StringIO.new("Content")
file = MemoryFile.new(io)
file.read
# => "Content"
file.path
# => "memory_file"
file.content_type
# => "application/octet-stream"

Instance Method Summary collapse

Constructor Details

#initialize(stream) ⇒ MemoryFile

Returns a new instance of MemoryFile.



16
17
18
# File 'lib/staticd_utils/memory_file.rb', line 16

def initialize(stream)
  @stream = stream
end

Instance Method Details

#content_typeObject



32
33
34
# File 'lib/staticd_utils/memory_file.rb', line 32

def content_type
  "application/octet-stream"
end

#original_filenameObject



28
29
30
# File 'lib/staticd_utils/memory_file.rb', line 28

def original_filename
  "memory_file"
end

#pathObject



24
25
26
# File 'lib/staticd_utils/memory_file.rb', line 24

def path
  original_filename
end

#read(*args) ⇒ Object



20
21
22
# File 'lib/staticd_utils/memory_file.rb', line 20

def read(*args)
  @stream.read(*args)
end