Merge branch '8784-dir-listings'
[arvados.git] / doc / sdk / ruby / example.html.textile.liquid
1 ---
2 layout: default
3 navsection: sdk
4 navmenu: Python
5 title: Examples
6 ...
7 {% comment %}
8 Copyright (C) The Arvados Authors. All rights reserved.
9
10 SPDX-License-Identifier: CC-BY-SA-3.0
11 {% endcomment %}
12
13 h2.  Initialize SDK
14
15 Import the module and set up an API client user agent:
16
17 <pre>
18 require 'arvados'
19 arv = Arvados.new(apiVersion: 'v1')
20 </pre>
21
22 The SDK retrieves the list of API methods from the server at run time. Therefore, the set of available methods is determined by the server version rather than the SDK version.
23
24 h2. create
25
26 Create an object:
27
28 <pre>
29 new_link = arv.link.create(link: {link_class: 'test', name: 'test'})
30 </pre>
31
32 h2. delete
33
34 Delete an object:
35
36 <pre>
37 arv.link.delete(uuid: new_link[:uuid])
38 </pre>
39
40 h2. get
41
42 Retrieve an object by ID:
43
44 <pre>
45 some_user = arv.user.get(uuid: current_user_uuid)
46 </pre>
47
48 h2. list
49
50 Get a list of objects:
51
52 <pre>
53 repos = arv.repository.list
54 first_repo = repos[:items][0]
55 puts "UUID of first repo returned is #{first_repo[:uuid]}"</code>
56 UUID of first repo returned is qr1hi-s0uqq-b1bnybpx3u5temz
57 </pre>
58
59 h2. update
60
61 Update an object:
62
63 <pre>
64 updated_link = arv.link.update(uuid: new_link[:uuid],
65                                link: {properties: {foo: 'bar'}})
66 </pre>
67
68 h2. Get current user
69
70 Get the User object for the current user:
71
72 <pre>
73 current_user = arv.user.current
74 </pre>
75
76 Get the UUID of an object that was retrieved using the SDK:
77
78 <pre>
79 current_user_uuid = current_user[:uuid]
80 </pre>