zillabyte-cli 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,34 +2,35 @@ require "zillabyte/cli/base"
2
2
  require "zillabyte/cli/helpers/table_output_builder"
3
3
  require "csv"
4
4
  require "open-uri"
5
- require "aws-sdk"
6
5
  require "json"
7
6
  require "base64"
8
7
 
9
8
 
10
- # manage custom relations
9
+ # manage custom datasets
11
10
  #
12
- class Zillabyte::Command::Relations < Zillabyte::Command::Base
11
+ class Zillabyte::Command::Data < Zillabyte::Command::Base
13
12
 
14
13
  MAX_POLL_SECONDS = 60 * 5
15
14
  POLL_SLEEP = 1
16
15
  APPENDS_ROWS_SLICE = 5_000;
17
16
 
18
- # relations
17
+ # data
19
18
  #
20
- # lists your custom relations
21
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
19
+ # Lists your custom datasets.
20
+ #
21
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
22
22
  #
23
23
  def index
24
24
  self.list
25
25
  end
26
26
 
27
27
 
28
- # relations
28
+ # data
29
29
  #
30
- # lists your custom relations
30
+ # Lists your custom datasets.
31
31
  #
32
- # --output_type OUTPUT_TYPE # The output format type
32
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
33
+ #
33
34
  def list
34
35
  type = options[:output_type] || nil
35
36
 
@@ -48,20 +49,20 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
48
49
  vals
49
50
  end
50
51
 
51
- display "relations\n" if type.nil? && rows.size > 0
52
+ display "datasets\n" if type.nil? && rows.size > 0
52
53
  display TableOutputBuilder.build_table(headings, rows, type)
53
- display "Total number of relations: "+rows.length.to_s if type.nil?
54
+ display "Total number of datasets: "+rows.length.to_s if type.nil?
54
55
 
55
56
  end
56
- alias_command "rl:list", "relations:list"
57
57
 
58
58
 
59
- # relations:delete ID
59
+ # data:delete ID
60
60
  #
61
- # deletes a relation
61
+ # Deletes a dataset.
62
62
  #
63
- # -f, --force # Delete without asking for confirmation
64
- # --output_type OUTPUT_TYPE # The output format type
63
+ # -f, --force # Delete without asking for confirmation
64
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
65
+ #
65
66
  def delete
66
67
  id = options[:id] || shift_argument
67
68
  forced = options[:force]
@@ -74,10 +75,10 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
74
75
  end
75
76
 
76
77
  while true
77
- display "This operation cannot be undone. Are you sure you want to delete this relation? (yes/no):", false
78
+ display "This operation cannot be undone. Are you sure you want to delete this dataset? (yes/no):", false
78
79
  confirm = ask
79
80
  break if confirm == "yes" || confirm == "no"
80
- display "Please enter 'yes' to delete the relation or 'no' to exit"
81
+ display "Please enter 'yes' to delete the dataset or 'no' to exit"
81
82
  end
82
83
  end
83
84
 
@@ -96,20 +97,19 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
96
97
  end
97
98
  end
98
99
  end
99
- alias_command "rl:delete", "relations:delete"
100
100
 
101
101
 
102
- # relations:create NAME
102
+ # data:create NAME
103
103
  #
104
- # creates a new relation
104
+ # Creates a new dataset.
105
105
  #
106
- # --schema SCHEMA # Column names and types in the format "field_1:output_type_1,field_2:output_type_2,..."
107
- # --public SCOPE # Make the relation public
108
- # --file FILE # A data file
109
- # --filetype FILETYPE # File format type, defaults to csv
110
- # --description DESCRIPTION # Description of relation contents
111
- # --aliases ALIASES # Relation name aliases in the format "alias_1,alias_2,..."
112
- # --output_type OUTPUT_TYPE # The output format type
106
+ # --schema SCHEMA # Column names and types in the format "field_1:output_type_1,field_2:output_type_2,..."
107
+ # --public SCOPE # Make the dataset public
108
+ # --file FILE # A data file
109
+ # --filetype FILETYPE # File format type, defaults to csv
110
+ # --description DESCRIPTION # Description of dataset contents
111
+ # --aliases ALIASES # Dataset name aliases in the format "alias_1,alias_2,..."
112
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
113
113
  #
114
114
  def create
115
115
 
@@ -126,9 +126,9 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
126
126
  aliases = options[:aliases] || nil
127
127
 
128
128
  if type.nil?
129
- hash = get_relation_properties(schema,is_public,description,aliases)
129
+ hash = get_dataset_properties(schema,is_public,description,aliases)
130
130
  else
131
- hash = hash_relation_properties(schema,is_public,description,aliases, type)
131
+ hash = hash_dataset_properties(schema,is_public,description,aliases, type)
132
132
  end
133
133
 
134
134
  if file
@@ -144,19 +144,19 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
144
144
  if type == "json"
145
145
  display "{}"
146
146
  else
147
- display "relation ##{res['id']} #{res['action']}. size: #{res['size'] || 0} rows."
147
+ display "dataset ##{res['id']} #{res['action']}. size: #{res['size'] || 0} rows."
148
148
  end
149
149
  end
150
150
 
151
151
  end
152
- alias_command "rl:create", "relations:create"
153
152
 
154
153
 
155
- # relations:append ID FILE
154
+ # data:append ID FILE
155
+ #
156
+ # Adds data to an existing dataset.
156
157
  #
157
- # adds data to an existing relation
158
- # --filetype FILETYPE # Input File format type, defaults to csv
159
- # --output_type OUTPUT_TYPE # Output formatting type i.e. json
158
+ # --filetype FILETYPE # Input File format type, defaults to csv
159
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
160
160
  #
161
161
  def append
162
162
 
@@ -169,14 +169,16 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
169
169
  error("no id given", type) if id.nil?
170
170
  error("no file given", type) if file.nil?
171
171
 
172
- relation = self.api.data.get(id, options)
173
- columns = relation["columns"].map{|col| {col["index"] => col["type"]}}
172
+ dataset = self.api.data.get(id, options)
173
+ columns = dataset["columns"].map{|col| {col["index"] => col["type"]}}
174
174
  raw_rows = sanity_check_file(file,filetype,{"columns" => columns}, type)
175
175
 
176
176
  total_rows = 0
177
177
  display("uploading content.", false)
178
178
  raw_rows.each_slice(APPENDS_ROWS_SLICE) do |rows|
179
179
 
180
+
181
+ # TODO: post to direct signed s3 (http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/S3/PresignedPost.html)
180
182
  display(".", false)
181
183
  res = self.api.data.append(id, {:gzip_rows => Base64.encode64(gzip(rows.to_json()))})
182
184
  # res = self.api.data.append(id, {:rows => rows})
@@ -188,19 +190,17 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
188
190
  if type == "json"
189
191
  display({:rows => total_rows}.to_json)
190
192
  else
191
- display "relation ##{id} appended #{total_rows} rows"
193
+ display "dataset ##{id} appended #{total_rows} rows"
192
194
  end
193
195
 
194
196
  end
195
- alias_command "append", "relations:append"
196
- alias_command "rl:append", "relations:append"
197
197
 
198
- # relations:pull ID OUTPUT
198
+ # data:pull ID OUTPUT
199
199
  #
200
- # pulls relation data into OUTPUT.gz
200
+ # Pulls dataset into OUTPUT.gz.
201
201
  #
202
- # --cycle_id [cycle_id] # retrieve data generated for that cycle, only if this relation is associated with an app. (defaults to the last cycle
203
- # --output_type OUTPUT_TYPE # specify a communication format (i.e json) for programmatic interaction
202
+ # --cycle_id [cycle_id] # Retrieve data generated during specified cycle if dataset is associated with an app [default: last cycle]
203
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
204
204
  #
205
205
  def pull
206
206
 
@@ -214,54 +214,23 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
214
214
 
215
215
  res = self.api.data.pull(id, options)
216
216
 
217
- if(res["uri"])
218
- display "Waiting for download." if type.nil?
219
- File.open(file, "w") do |f|
220
- f.write open(res["uri"]).read
221
- end
222
- elsif(res["s3_credentials"])
223
- display "Request sent. Depending on the size of your file, this may take a while." if type.nil?
224
- s3 = AWS::S3.new(res["s3_credentials"])
225
- bucket = s3.buckets[res["s3_bucket"]]
226
- obj = bucket.objects.with_prefix("#{res["s3_file_key"]}/")
227
-
228
- while(true)
229
- keys = obj.collect(&:key)
230
- if keys.length > 0 and keys.include?("#{res["s3_file_key"]}/manifest")
231
- display "Starting to write to file..." if type.nil?
232
- File.open(file, "w") do |f|
233
- obj.each do |o|
234
- if o.key == "#{res["s3_file_key"]}/manifest"
235
- next
236
- end
237
- f.write(o.read)
238
- end
239
- end
240
- break
241
- else
242
- sleep(3)
243
- obj = bucket.objects.with_prefix("#{res["s3_file_key"]}/")
244
- end
245
- end
246
- end
217
+ handle_downloading_manifest(file, res, type)
247
218
 
248
219
  if type == "json"
249
220
  display "{}"
250
221
  else
251
- display "pulled data from relation ##{id} to file #{file}"
222
+ display "finished pulling dataset ##{id} to file"
252
223
  end
253
224
 
254
225
  end
255
- alias_command "rl:pull", "relations:pull"
256
226
 
257
- # relations:pull:s3 ID S3_KEY S3_SECRET S3_BUCKET s3_FILE_KEY
227
+ # data:pull:s3 ID S3_KEY S3_SECRET S3_BUCKET s3_FILE_KEY
258
228
  #
259
- # pulls relation data to S3_BUCKET/FILE_KEY/part***.gz
229
+ # Pulls dataset to S3_BUCKET/FILE_KEY/part***.gz.
260
230
  #
261
- # --cycle_id [cycle_id] # retrieve data generated for that cycle, only if this relation is associated with an app. (defaults to the last cycle)
262
- # -t, --output_type OUTPUT_TYPE # the output format types
231
+ # --cycle_id [cycle_id] # Retrieve data generated during specified cycle if dataset is associated with an app [default: last cycle]
232
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
263
233
  #
264
-
265
234
  def pull_to_s3
266
235
 
267
236
  id = options[:id] || shift_argument
@@ -286,24 +255,27 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
286
255
  if type == "json"
287
256
  display "{}"
288
257
  else
289
- display "downloading relation data to s3://#{res["s3_bucket"]}/#{res["s3_file_key"]}/"
290
- display "if the relation is large, this may take a while, please check your s3 account after a few minutes"
258
+ display "downloading dataset to s3://#{res["s3_bucket"]}/#{res["s3_file_key"]}/"
259
+ display "if the dataset is large, this may take a while, please check your s3 account after a few minutes"
291
260
  end
292
261
  end
293
- alias_command "relations:pull:s3", "relations:pull_to_s3"
294
- alias_command "rl:pull:s3", "relations:pull_to_s3"
262
+ alias_command "data:pull:s3", "data:pull_to_s3"
295
263
 
296
264
 
297
- # relations:show ID
265
+ # data:show ID
266
+ #
267
+ # Shows a sample of the dataset. See 'zillabyte queries' for
268
+ # more elaborate functionality.
298
269
  #
299
- # shows a sample of the data in a relation. see 'zillabyte queries' for more elaborate functionality
270
+ # --cycle_id [cycle_id] # Retrieve data generated during specified cycle if dataset is associated with an app [default: last cycle]
271
+ # --no_truncation # Don't truncate long strings
272
+ # --meta # Show metadata columns (since, confidence, source)
273
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
300
274
  #
301
- # --cycle_id [cycle_id] # retrieve data generated for that cycle, only if this relation is associated with an app. (defaults to the last cycle)
302
- # --no_truncation # don't truncate long strings
303
- # --output_type OUTPUT_TYPE # the type of the output
304
275
  def show
305
276
  name = options[:name] || shift_argument
306
277
  type = options[:output_type]
278
+ show_meta = options[:meta] || false
307
279
  error "no id given" if name.nil?
308
280
 
309
281
  # Initial request..
@@ -354,6 +326,7 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
354
326
  headings = []
355
327
  concrete_headings = res["rows"].first.keys
356
328
  concrete_headings.delete("id")
329
+ META_COLUMNS.each {|c| concrete_headings.delete c} if (!show_meta)
357
330
  concrete_headings.each do |ch|
358
331
  has_alias = false
359
332
  (res['column_aliases'] || []).each do |al|
@@ -386,24 +359,23 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
386
359
  if type == "json"
387
360
  display "{}"
388
361
  else
389
- display "empty relation"
362
+ display "empty dataset"
390
363
  end
391
364
  end
392
365
 
393
366
  end
394
- alias_command "rl:show", "relations:show"
395
367
 
396
368
 
397
369
  private
398
370
 
399
371
 
400
- def hash_relation_properties(schema, is_public, description, aliases, type)
372
+ def hash_dataset_properties(schema, is_public, description, aliases, type)
401
373
  if !aliases.nil?
402
374
  aliases = aliases.strip.split(",").map{|x| x.strip}.uniq
403
375
  aliases.each do |a|
404
376
  if(!(a =~ /^[a-zA-Z0-9\_]+$/i))
405
377
  error_message = "(\"#{a}\" contains illegal characters. Only letters, numbers and underscore are allowed in alias names."
406
- error_message += "If you would like to give alias names to your relation, please enter them below. (comma separated, only letters, number and underscore allowed)"
378
+ error_message += "If you would like to give alias names to your dataset, please enter them below. (comma separated, only letters, number and underscore allowed)"
407
379
  error(error_message, type)
408
380
  end
409
381
  end
@@ -443,7 +415,7 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
443
415
 
444
416
 
445
417
 
446
- def get_relation_properties(schema, is_public, description = "", aliases = nil)
418
+ def get_dataset_properties(schema, is_public, description = "", aliases = nil)
447
419
 
448
420
  description ||= ""
449
421
  valid_types=["string", "integer", "float"]
@@ -486,7 +458,7 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
486
458
 
487
459
  if is_public.nil?
488
460
  while true
489
- display "Would you like your relation to be public? (yes or no)"
461
+ display "Would you like your dataset to be public? (yes or no)"
490
462
  pp = ask.strip.downcase
491
463
  if(pp == "yes" or pp == "y")
492
464
  is_public = "public"
@@ -523,7 +495,7 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
523
495
 
524
496
  CSV.foreach(file) do |row|
525
497
  if row.size != n_columns
526
- error("relation expect #{n_columns} column(s). Found a row with #{row.size}::\n #{row}", type)
498
+ error("dataset expects #{n_columns} column(s). Found a row with #{row.size}::\n #{row}", type)
527
499
  end
528
500
 
529
501
  float_cols.each do |i|
@@ -21,10 +21,10 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
21
21
 
22
22
  # flows:status [DIR]
23
23
  #
24
- # fetches detailed status of the flow
24
+ # Fetches detailed status of the flow.
25
25
  #
26
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
27
- # --directory DIR # Directory of the flow
26
+ # --directory DIR # Flow directory
27
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
28
28
  #
29
29
  def status
30
30
 
@@ -56,11 +56,11 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
56
56
 
57
57
  # flows:pull ID DIR
58
58
  #
59
- # pulls a flow source to a directory.
59
+ # Pulls a flow source to a directory.
60
60
  #
61
- # --force # pulls even if the directory exists
62
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
63
- # --directory DIR # Directory of the flow
61
+ # --force # Pulls even if the directory exists
62
+ # --directory DIR # Flow directory
63
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
64
64
  #
65
65
  # Examples:
66
66
  #
@@ -107,13 +107,21 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
107
107
 
108
108
  # flows:prep [DIR]
109
109
  #
110
- # performs any necessary initialization for the flow
110
+ # Performs any necessary initialization for the flow.
111
111
  #
112
- # --directory DIR # flow directory
113
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
112
+ # --directory DIR # Flow directory
113
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
114
+ # --mode MODE # Specify development or production mode for dependencies #HIDDEN
114
115
  #
115
- def prep
116
-
116
+ def prep()
117
+ mode, bundle_flags = case options[:mode]
118
+ when nil, "development"
119
+ [:development, ""]
120
+ when "production"
121
+ [:production, "--deployment"]
122
+ else
123
+ error("Unsupported mode #{options[:mode].inspect()}. Zillabyte currently supports development and production.")
124
+ end
117
125
  type = options[:output_type]
118
126
  dir = options[:directory] || shift_argument
119
127
  if dir.nil?
@@ -130,12 +138,10 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
130
138
 
131
139
  case meta["language"]
132
140
  when "ruby"
133
-
134
141
  # Execute in the bundler context
135
142
  full_script = File.join(dir, meta["script"])
136
- cmd = "cd \"#{meta['home_dir']}\"; unset BUNDLE_GEMFILE; unset RUBYOPT; bundle install"
143
+ cmd = "cd \"#{meta['home_dir']}\"; unset BUNDLE_GEMFILE; unset RUBYOPT; bundle install #{bundle_flags}"
137
144
  exec(cmd)
138
-
139
145
  when "python"
140
146
  vDir = "#{meta['home_dir']}/vEnv"
141
147
  lock_file = meta['home_dir']+"/zillabyte_thread_lock_file"
@@ -158,11 +164,11 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
158
164
 
159
165
  # flows:logs ID [OPERATION_NAME]
160
166
  #
161
- # streams logs from the distributed workers
167
+ # Streams logs for the flow from our cluster.
162
168
  #
163
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
164
- # --operation OPERATION_NAME # specify the operation to show logs for
165
- # -v, --verbose LEVEL # sets the verbosity (error, info, debug) (default: info)
169
+ # --operation OPERATION_NAME # Specify the operation to show logs for
170
+ # -v, --verbose LEVEL # Sets the verbosity (error, info, debug) [default: info]
171
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
166
172
  #
167
173
  def logs
168
174
 
@@ -193,8 +199,9 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
193
199
 
194
200
  # flows:errors ID
195
201
  #
196
- # show recent errors generated by the flow
197
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
202
+ # Show recent errors generated by the flow.
203
+ #
204
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
198
205
  #
199
206
  def errors
200
207
 
@@ -256,11 +263,11 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
256
263
 
257
264
  # flows:live_run [OPERATION_NAME] [PIPE_NAME] [DIR]
258
265
  #
259
- # runs a local flow with live data
266
+ # Runs a local flow with live data.
260
267
  #
261
- # --config CONFIG_FILE # use the given config file
262
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
263
- # --directory DIR # Directory of the flow
268
+ # --config CONFIG_FILE # Use the given config file
269
+ # --directory DIR # Flow directory
270
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
264
271
  #
265
272
  def live_run
266
273
 
@@ -292,11 +299,11 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
292
299
 
293
300
  # flows:info [DIR]
294
301
  #
295
- # outputs the info for the flow in the dir.
302
+ # Outputs the info for the flow in the dir.
296
303
  #
297
- # --pretty # Pretty prints the info output
298
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
299
- # --directory DIR # Directory of the flow
304
+ # --pretty # Pretty prints the info output
305
+ # --directory DIR # Flow directory
306
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
300
307
  #
301
308
  def info
302
309
 
@@ -330,10 +337,10 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
330
337
 
331
338
  # flows:delete ID
332
339
  #
333
- # deletes a flow. if the flow is running, this command will kill it.
340
+ # Deletes a flow. If the flow is running, this command will kill it.
334
341
  #
335
- # -f, --force # don't ask for confirmation
336
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
342
+ # -f, --force # Don't ask for confirmation
343
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
337
344
  #
338
345
  def delete
339
346
  id = options[:id] || shift_argument
@@ -412,9 +419,6 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
412
419
  end
413
420
 
414
421
 
415
- #
416
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
417
- #
418
422
  def self.get_info(cmd, info_file, dir, options = {})
419
423
  type = options[:output_type]
420
424
 
@@ -457,18 +461,16 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
457
461
  end
458
462
 
459
463
 
460
-
461
-
462
464
  # flows:test
463
465
  #
464
- # tests a local flow with sample data
466
+ # Tests a local flow with sample data.
465
467
  #
466
- # --config CONFIG_FILE # use the given config file
467
- # --input INPUT_FILE # writes sink output to a file
468
- # --output OUTPUT_FILE # writes sink output to a file
469
- # --cycles CYCLES # number of cycles to emit (default 1)
470
- # --directory DIR # flow directory
471
- # -i, --interactive # allow user to control input and read output
468
+ # --config CONFIG_FILE # Use the given config file
469
+ # --input INPUT_FILE # Uses a CSV for component input (only applicable for components)
470
+ # --output OUTPUT_FILE # Writes sink output to a file
471
+ # --cycles CYCLES # Number of cycles to emit [default 1] (only applicable for apps)
472
+ # --directory DIR # Flow directory
473
+ # -i, --interactive # Interactively control input and read output (only applicable for apps)
472
474
  #
473
475
  def test
474
476
  dir = options[:directory]
@@ -514,10 +516,10 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
514
516
 
515
517
  # flows:kill ID
516
518
  #
517
- # kills the given flow
519
+ # Kills the given flow.
518
520
  #
519
- # --config CONFIG_FILE # use the given config file
520
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
521
+ # --config CONFIG_FILE # Use the given config file
522
+ # --output_type OUTPUT_TYPE # Specify an output type i.e. json #HIDDEN
521
523
  #
522
524
  def kill
523
525
  id = options[:id] || shift_argument
@@ -578,9 +580,7 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
578
580
 
579
581
  private
580
582
 
581
- #
582
- # --output_type OUTPUT_TYPE # specify an output type i.e. json
583
- #
583
+
584
584
  def command(arg="--execute_live", type = nil, dir = Dir.pwd, ignore_stderr = false)
585
585
  meta = Zillabyte::CLI::Config.get_config_info(dir, self, options)
586
586
 
@@ -6,14 +6,13 @@ class Zillabyte::Command::Git < Zillabyte::Command::Base
6
6
 
7
7
  # git:remote [OPTIONS]
8
8
  #
9
- # adds a git remote to an app repo
9
+ # Adds a git remote to an app repo.
10
+ # If OPTIONS are specified they will be passed to git remote add.
10
11
  #
11
- # if OPTIONS are specified they will be passed to git remote add
12
+ # -r, --remote REMOTE # The git remote to create, default "Zillabyte"
13
+ # -n, --name NAME # The name of the app, default current directory's name
12
14
  #
13
- # -r, --remote REMOTE # the git remote to create, default "Zillabyte"
14
- # -n, --name NAME # the name of the app, default current directory's name
15
- #
16
- #Examples:
15
+ # Examples:
17
16
  #
18
17
  # $ zillabyte git:remote -a example
19
18
  # Git remote zillabyte added
@@ -32,4 +31,4 @@ class Zillabyte::Command::Git < Zillabyte::Command::Base
32
31
 
33
32
  end
34
33
 
35
- end
34
+ end
@@ -4,14 +4,13 @@ require "zillabyte/cli/base"
4
4
  #
5
5
  class Zillabyte::Command::Help < Zillabyte::Command::Base
6
6
 
7
- PRIMARY_NAMESPACES = %w( relations query apps components logs )
7
+ PRIMARY_NAMESPACES = %w( data query apps components logs )
8
8
 
9
9
  # help
10
10
  def index(*direct_args)
11
11
 
12
12
  if command = args.shift || direct_args.shift
13
13
  if command == "aliases"
14
- puts
15
14
  puts "Useful aliases: "
16
15
  puts
17
16
  summary_for_aliases(Zillabyte::Command.command_aliases)
@@ -85,8 +84,8 @@ private
85
84
 
86
85
  def summary_for_aliases(command_aliases)
87
86
  used_aliases = command_aliases.select{|c,a| !c.include?("-") and !c.include?(":") and !skip_command?(commands[a])}
88
- a_size = longest(used_aliases.map { |al,al_to| al }) + 4
89
- a_to_size = longest(used_aliases.map { |al,al_to| al_to }) + 4
87
+ a_size = longest(used_aliases.map { |al,al_to| al }) + 6
88
+ a_to_size = longest(used_aliases.map { |al,al_to| al_to }) + 6
90
89
  used_aliases.sort_by{|k,v| v}.each do |command_alias, alias_to|
91
90
 
92
91
  if command_alias.include?("-") or command_alias.include?(":")
@@ -149,7 +148,6 @@ private
149
148
  puts
150
149
  puts " " + legacy_help_for_command(name).to_s
151
150
  end
152
- puts
153
151
  end
154
152
 
155
153
  namespace_commands = commands_for_namespace(name).reject do |command|