Method: Fog::Storage::Ninefold::File#save

Defined in:
lib/fog/ninefold/models/storage/file.rb

#save(options = {}) ⇒ Object



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/fog/ninefold/models/storage/file.rb', line 77

def save(options = {})
  requires :body, :directory, :key
  directory.kind_of?(Directory) ? ns = directory.key : ns = directory
  ns += key
  options[:headers] ||= {}
  options[:headers]['Content-Type'] = content_type if content_type
  options[:body] = body
  begin
    data = connection.post_namespace(ns, options)
    self.objectid = data.headers['location'].split('/')[-1]
  rescue => error
    if error.message =~ /The resource you are trying to create already exists./
      data = connection.put_namespace(ns, options)
    else
      raise error
    end
  end
  # merge_attributes(data.headers)
  true
end