lib/ruby-box/folder.rb in ruby-box-1.12.2 vs lib/ruby-box/folder.rb in ruby-box-1.13.0
- old
+ new
@@ -64,14 +64,33 @@
'item' => {'id' => id, 'type' => type},
'accessible_by' => {'login' => email},
'role' => role.to_s
}).create
end
-
+
+ # see http://developers.box.com/docs/#folders-copy-a-folder
+ # for a description of the behavior
+ def copy_to(destination, name=nil)
+ parent = {'parent' => {'id' => destination.id}}
+ parent.merge!('name' => name) if name
+
+ RubyBox::Folder.new(@session, post(folder_method(:copy), parent))
+ end
+
private
+ def post(extra_url, body)
+ uri = URI.parse("#{RubyBox::API_URL}/#{extra_url}")
+ post = Net::HTTP::Post.new(uri.request_uri)
+ post.body = JSON.dump(body)
+ @session.request(uri, post)
+ end
def resource_name
'folders'
+ end
+
+ def folder_method(method)
+ "folders/#{id}/#{method}"
end
def has_mini_format?
true
end