Class: CPEE::DStore::DoPut

Inherits:
Riddl::Implementation
  • Object
show all
Defined in:
lib/cpee-dstore/implementation.rb

Overview

}}}

Instance Method Summary collapse

Instance Method Details

#responseObject

{{{



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/cpee-dstore/implementation.rb', line 67

def response
  if @p[0].name == 'append'
    mode = 'ab'
    @p.shift
  else
    mode = 'wb'
  end
  name = @r[-1]
  dir = File.join(@a[0],@r[-2])
  FileUtils.mkdir_p(dir)

  File.open(File.join(dir,name),mode) do |f|
    IO.copy_stream(@p[0].value,f)
    mime = MimeMagic.by_magic(@p[0].value.read)
    mt = if mime.nil?
      'text/plain'
    else
      mime.type
    end
    File.write(File.join(dir,name + '.mimetype'), mt)
  end

  nil
end