ruby.rst 2.2 KB
Newer Older
XuanDai's avatar
XuanDai 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
.. _ruby_swift:

=====================
 Ruby Swift Examples
=====================

Create a Connection
===================

This creates a connection so that you can interact with the server:

.. code-block:: ruby

	require 'cloudfiles'
	username = 'account_name:user_name'
	api_key  = 'your_secret_key'

	conn = CloudFiles::Connection.new(
		:username => username,
		:api_key  => api_key,
		:auth_url => 'http://objects.dreamhost.com/auth'
	)


Create a Container
==================

This creates a new container called ``my-new-container``

.. code-block:: ruby

	container = conn.create_container('my-new-container')


Create an Object
================

This creates a file ``hello.txt`` from the file named ``my_hello.txt``

.. code-block:: ruby

	obj = container.create_object('hello.txt')
	obj.load_from_filename('./my_hello.txt')
	obj.content_type = 'text/plain'



List Owned Containers
=====================

This gets a list of Containers that you own, and also prints out 
the container name:

.. code-block:: ruby

	conn.containers.each do |container|
		puts container
	end

The output will look something like this::

   mahbuckat1
   mahbuckat2
   mahbuckat3


List a Container's Contents
===========================

This gets a list of objects in the container, and prints out each 
object's name, the file size, and last modified date:

.. code-block:: ruby

	require 'date'  # not necessary in the next version

	container.objects_detail.each do |name, data|
		puts "#{name}\t#{data[:bytes]}\t#{data[:last_modified]}"
	end

The output will look something like this::

   myphoto1.jpg	251262	2011-08-08T21:35:48.000Z
   myphoto2.jpg	262518	2011-08-08T21:38:01.000Z



Retrieve an Object
==================

This downloads the object ``hello.txt`` and saves it in
``./my_hello.txt``:

.. code-block:: ruby

	obj = container.object('hello.txt')
	obj.save_to_filename('./my_hello.txt')


Delete an Object
================

This deletes the object ``goodbye.txt``:

.. code-block:: ruby

	container.delete_object('goodbye.txt')
	

Delete a Container
==================

.. note::

   The container must be empty! Otherwise the request won't work!

.. code-block:: ruby

	container.delete_container('my-new-container')