arvados-cli 0.1.20130730143934 → 0.1.20130916215921

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/bin/arv +25 -3
  2. data/bin/arv-run-pipeline-instance +8 -4
  3. metadata +3 -3
data/bin/arv CHANGED
@@ -149,6 +149,14 @@ def parse_arguments(discovery_document)
149
149
  description = ' ' + v["description"] if v.include?("description")
150
150
  opt k.to_sym, description, opts
151
151
  end
152
+ body_object = discovery_document["resources"][resource_arg.pluralize]["methods"][method]["request"]
153
+ if body_object and discovered_params[resource_arg].nil?
154
+ is_required = true
155
+ if body_object["required"] == false
156
+ is_required = false
157
+ end
158
+ opt resource_arg.to_sym, "#{resource_arg} (request body)", required: is_required, type: :string
159
+ end
152
160
  end
153
161
  discovered_params.each do |k,v|
154
162
  if ['object', 'array'].index(v["type"]) and method_opts.has_key? k
@@ -195,10 +203,11 @@ def parse_arguments(discovery_document)
195
203
  end
196
204
  end
197
205
 
198
- return resource_arg.pluralize, method, method_opts, global_opts, ARGV
206
+ return resource_arg, method, method_opts, global_opts, ARGV
199
207
  end
200
208
 
201
- controller, method, method_opts, global_opts, remaining_opts = parse_arguments(arvados.discovery_document)
209
+ resource_schema, method, method_opts, global_opts, remaining_opts = parse_arguments(arvados.discovery_document)
210
+ controller = resource_schema.pluralize
202
211
 
203
212
  api_method = 'arvados.' + controller + '.' + method
204
213
 
@@ -209,7 +218,20 @@ if global_opts[:dry_run]
209
218
  exit
210
219
  end
211
220
 
212
- result = client.execute :api_method => eval(api_method), :parameters => { :api_token => ENV['ARVADOS_API_TOKEN'] }.merge(method_opts), :authenticated => false
221
+ request_parameters = {}.merge(method_opts)
222
+ resource_body = request_parameters.delete(resource_schema.to_sym)
223
+ if resource_body
224
+ request_body = {
225
+ resource_schema => JSON.parse(resource_body)
226
+ }
227
+ else
228
+ request_body = {}
229
+ end
230
+ request_body[:api_token] = ENV['ARVADOS_API_TOKEN']
231
+ result = client.execute(:api_method => eval(api_method),
232
+ :parameters => request_parameters,
233
+ :body => request_body,
234
+ :authenticated => false)
213
235
  results = JSON.parse result.body
214
236
 
215
237
  if results["errors"] then
@@ -201,9 +201,11 @@ class PipelineInstance
201
201
  def self.find(uuid)
202
202
  result = $client.execute(:api_method => $arvados.pipeline_instances.get,
203
203
  :parameters => {
204
- :api_token => ENV['ARVADOS_API_TOKEN'],
205
204
  :uuid => uuid
206
205
  },
206
+ :body => {
207
+ :api_token => ENV['ARVADOS_API_TOKEN']
208
+ },
207
209
  :authenticated => false)
208
210
  j = JSON.parse result.body, :symbolize_names => true
209
211
  unless j.is_a? Hash and j[:uuid]
@@ -216,9 +218,9 @@ class PipelineInstance
216
218
  end
217
219
  def self.create(attributes)
218
220
  result = $client.execute(:api_method => $arvados.pipeline_instances.create,
219
- :parameters => {
221
+ :body => {
220
222
  :api_token => ENV['ARVADOS_API_TOKEN'],
221
- :pipeline_instance => attributes.to_json
223
+ :pipeline_instance => attributes
222
224
  },
223
225
  :authenticated => false)
224
226
  j = JSON.parse result.body, :symbolize_names => true
@@ -231,8 +233,10 @@ class PipelineInstance
231
233
  def save
232
234
  result = $client.execute(:api_method => $arvados.pipeline_instances.update,
233
235
  :parameters => {
236
+ :uuid => @pi[:uuid]
237
+ },
238
+ :body => {
234
239
  :api_token => ENV['ARVADOS_API_TOKEN'],
235
- :uuid => @pi[:uuid],
236
240
  :pipeline_instance => @attributes_to_update.to_json
237
241
  },
238
242
  :authenticated => false)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arvados-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.20130730143934
4
+ version: 0.1.20130916215921
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-30 00:00:00.000000000 Z
12
+ date: 2013-09-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-api-client
@@ -107,7 +107,7 @@ dependencies:
107
107
  - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
109
  version: 2.0.3
110
- description: This is the Arvados SDK CLI gem, git revision 5fcebaf9f4c05cf63f2cfa6d69b5bf16e0a73b96
110
+ description: This is the Arvados SDK CLI gem, git revision ef71d0cab582ed90fea0edc9ea2ed94a22946086
111
111
  email: gem-dev@clinicalfuture.com
112
112
  executables:
113
113
  - arv