5e307d31379ab7e766b47b580d777dcb35517ed4
[arvados.git] / apps / workbench / app / views / application / _arvados_object.html.erb
1 <% content_for :arvados_object_table do %>
2 <%= form_for @object do |f| %>
3 <table class="table topalign">
4   <thead>
5   </thead>
6   <tbody>
7     <% @object.attributes_for_display.each do |attr, attrvalue| %>
8     <%= render partial: 'application/arvados_object_attr', locals: { attr: attr, attrvalue: attrvalue } %>
9     <% end %>
10   </tbody>
11 </table>
12 <% end %>
13 <% end %>
14
15 <% if content_for? :page_content %>
16 <%= yield :page_content %>
17 <% else %>
18 <%= yield :arvados_object_table %>
19 <% end %>
20
21 <div>
22   <ul class="nav nav-tabs">
23     <% if content_for? :page_content %>
24     <li><a href="#arvados-object-table" data-toggle="tab">Table</a></li>
25     <% end %>
26     <li class="active"><a href="#arvados-object-json" data-toggle="tab">API response JSON</a></li>
27     <% if @object.andand.uuid %>
28     <li><a href="#arvados-object-curl" data-toggle="tab">curl update example</a></li>
29     <li><a href="#arvados-object-arv" data-toggle="tab">&ldquo;arv&rdquo; CLI example</a></li>
30     <li><a href="#arvados-object-python" data-toggle="tab">Python example</a></li>
31     <% end %>
32   </ul>
33
34   <div class="tab-content">
35     <% if content_for? :page_content %>
36     <div id="arvados-object-table" class="tab-pane fade">
37       <%= yield :arvados_object_table %>
38     </div>
39     <% end %>
40     <div id="arvados-object-json" class="tab-pane fade in active">
41       <pre>
42 <%= JSON.pretty_generate(@object.attributes.reject { |k,v| k == 'id' }) rescue nil %>
43       </pre>
44     </div>
45
46     <% if @object.andand.uuid %>
47
48     <div id="arvados-object-curl" class="tab-pane fade">
49       <pre>
50 curl -X PUT \
51  -H "Authorization: OAuth2 $arv_api_token" \
52  --data-urlencode <%= @object.class.to_s.underscore %>@/dev/stdin \
53  <%= Rails.configuration.arvados_v1_base.sub 'http://', 'https://' %>/<%= @object.class.to_s.pluralize.underscore %>/<%= @object.uuid %> \
54  &lt;&lt;EOF
55 <%= JSON.pretty_generate({@object.attributes.keys[-3] => @object.attributes.values[-3]}) %>
56 EOF
57       </pre>
58     </div>
59
60     <div id="arvados-object-arv" class="tab-pane fade">
61       <pre>
62 ARVADOS_API_HOST=<%= Rails.configuration.arvados_v1_base.sub /https?:\/\/|\/arvados\/v1/,'' %>
63 ARVADOS_API_TOKEN=xxxxxxxxxxxxxxxxxxxxx
64
65 arv --json --pretty <%= @object.class.to_s.underscore %> get \
66  --uuid <%= @object.uuid %>
67
68 arv <%= @object.class.to_s.underscore %> update \
69  --uuid <%= @object.uuid %> \
70  --<%= @object.class.to_s.underscore.gsub '_', '-' %> '<%= JSON.generate({@object.attributes.keys[-3] => @object.attributes.values[-3]}).gsub("'","'\''") %>'
71       </pre>
72     </div>
73
74     <div id="arvados-object-python" class="tab-pane fade">
75       <pre>
76 import arvados
77
78 x = arvados.api().<%= @object.class.to_s.pluralize.underscore %>().get(uuid='<%= @object.uuid %>').execute()
79       </pre>
80     </div>
81
82     <% end %>
83
84   </div>
85 </div>