zillabyte-cli 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/zillabyte-cli/version.rb +1 -1
- data/lib/zillabyte/api/data.rb +10 -2
- data/lib/zillabyte/api/flows.rb +1 -2
- data/lib/zillabyte/cli/flows.rb +10 -5
- data/lib/zillabyte/cli/help.rb +1 -1
- data/lib/zillabyte/cli/query.rb +25 -6
- data/lib/zillabyte/cli/relations.rb +81 -65
- data/lib/zillabyte/cli/templates/ruby/Gemfile +3 -2
- data/lib/zillabyte/cli/templates/ruby/simple_function.rb +4 -1
- data/zillabyte-cli.gemspec +7 -12
- metadata +35 -63
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MjgyYWY1MTY5MmQ1ZTRhZWMyNTEyMzExMWIwODViZjc2NzFjYzZkZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NDNjOTk0MzU3NmNkZDZiMjIzYmEwYmQ1YjQzODM2M2QxZDU1M2E5Yg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZWU1MTJjZmRhMGIwM2U2YmJlMmIxYjQyOTk1ZmE0Njk3NDZmNzE5OGFhNjZh
|
10
|
+
NjQ4NzM2M2VmOTllYTUxNjNiNGU1MjQxNjIyMjIzM2IzMjI5ODkyNmQ0YTIx
|
11
|
+
ZDkzZjA5OTZlMDdkMDY5MzFjNTllZTBkZWY5MWNhNDk2ZjQxODc=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NzIzM2I1OGU0YTA4ZGYwMDYzZDZlMTU0NzBjNTY3N2RjNzc5ZGUxMjNjZTY2
|
14
|
+
MGYwNzAzNDFiYWQwZWYxOTc3YTljNjhlY2NhNjU0NWRhNmIxNzIzMTA4ZWRi
|
15
|
+
MTZkNGUxZjNmNjNmYjI4YzczNzk2MGNmOGJmNTAwMTQ2NDYyZGE=
|
data/lib/zillabyte/api/data.rb
CHANGED
@@ -67,8 +67,16 @@ class Zillabyte::API::Data < Zillabyte::API::Base
|
|
67
67
|
end
|
68
68
|
|
69
69
|
|
70
|
-
|
71
|
-
|
70
|
+
def delete(id, option={})
|
71
|
+
|
72
|
+
res = @api.request(
|
73
|
+
:expects => 200,
|
74
|
+
:method => :delete,
|
75
|
+
:path => "/relations/#{id}"
|
76
|
+
)
|
77
|
+
|
78
|
+
res.body
|
79
|
+
end
|
72
80
|
|
73
81
|
|
74
82
|
# POST /datasets/1/append
|
data/lib/zillabyte/api/flows.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'net/http'
|
2
|
-
require 'mkfifo'
|
3
2
|
require 'zillabyte/cli/config'
|
4
3
|
|
5
4
|
class Zillabyte::API::Flows < Zillabyte::API::Base
|
@@ -214,7 +213,7 @@ class Zillabyte::API::Flows < Zillabyte::API::Base
|
|
214
213
|
end
|
215
214
|
when "js"
|
216
215
|
# command = "#{Zillabyte::API::CASPERJS_BIN} #{Zillabyte::API::API_CLIENT_JS} \"#{full_script}\" --info"
|
217
|
-
command = "cd \"#{dir}\"; NODE_PATH=~/zb1/multilang/js #{Zillabyte::API::NODEJS_BIN} \"#{full_script}\" #{arg} #{stderr}"
|
216
|
+
command = "cd \"#{dir}\"; NODE_PATH=~/zb1/multilang/js/src/lib #{Zillabyte::API::NODEJS_BIN} \"#{full_script}\" #{arg} #{stderr}"
|
218
217
|
else
|
219
218
|
progress.error "unsupported language: #{hash["language"]}" if progress
|
220
219
|
return nil
|
data/lib/zillabyte/cli/flows.rb
CHANGED
@@ -299,11 +299,16 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
|
|
299
299
|
if node['matches'] or node["relation"]
|
300
300
|
matches = node['matches'] || (node["relation"]["query"])
|
301
301
|
op_display.call "Grabbing remote data"
|
302
|
-
|
303
|
-
|
302
|
+
|
303
|
+
res = api.query.agnostic(matches)
|
304
|
+
rows = res["rows"]
|
305
|
+
column_aliases = res["column_aliases"]
|
306
|
+
|
307
|
+
|
308
|
+
if(rows.nil? or rows.length == 0)
|
304
309
|
raise NameError, "Could not find data that matches your 'matches' clause"
|
305
310
|
end
|
306
|
-
|
311
|
+
rows.each do |tuple|
|
307
312
|
values = {}
|
308
313
|
meta = {}
|
309
314
|
tuple.each do |k, v|
|
@@ -315,7 +320,7 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
|
|
315
320
|
values[k] = v
|
316
321
|
end
|
317
322
|
end
|
318
|
-
read_msg = {"tuple" => values, "meta" => meta}.to_json
|
323
|
+
read_msg = {"tuple" => values, "meta" => meta, "column_aliases" => column_aliases}.to_json
|
319
324
|
op_display.call "emit tuple: #{values} #{meta}"
|
320
325
|
stream_messages[default_stream] ||= []
|
321
326
|
stream_messages[default_stream] << read_msg
|
@@ -669,7 +674,7 @@ class Zillabyte::Command::Flows < Zillabyte::Command::Base
|
|
669
674
|
|
670
675
|
when "js"
|
671
676
|
# cmd = "#{Zillabyte::API::CASPERJS_BIN} #{Zillabyte::API::API_CLIENT_JS} \"#{full_script}\" #{arg}"
|
672
|
-
cmd = "cd \"#{dir}\"; NODE_PATH=~/zb1/multilang/js #{Zillabyte::API::NODEJS_BIN} \"#{full_script}\" #{arg} #{stderr_opt}"
|
677
|
+
cmd = "cd \"#{dir}\"; NODE_PATH=~/zb1/multilang/js/src/lib #{Zillabyte::API::NODEJS_BIN} \"#{full_script}\" #{arg} #{stderr_opt}"
|
673
678
|
|
674
679
|
else
|
675
680
|
error "no language specified"
|
data/lib/zillabyte/cli/help.rb
CHANGED
data/lib/zillabyte/cli/query.rb
CHANGED
@@ -39,9 +39,19 @@ class Zillabyte::Command::Query < Zillabyte::Command::Base
|
|
39
39
|
filtered = []
|
40
40
|
headings = []
|
41
41
|
if res['rows'].first
|
42
|
-
|
42
|
+
concrete_headings = res['rows'].first.keys
|
43
|
+
concrete_headings.each do |ch|
|
44
|
+
has_alias = false
|
45
|
+
res['column_aliases'].each do |al|
|
46
|
+
if(al["concrete_name"] == ch)
|
47
|
+
headings << al["alias"]
|
48
|
+
has_alias = true
|
49
|
+
end
|
50
|
+
end
|
51
|
+
headings << ch if !has_alias
|
52
|
+
end
|
43
53
|
rows = res['rows'].each do |obj|
|
44
|
-
new_row =
|
54
|
+
new_row = concrete_headings.map do |heading|
|
45
55
|
obj[heading]
|
46
56
|
end
|
47
57
|
unless seen[new_row.to_s]
|
@@ -109,14 +119,23 @@ class Zillabyte::Command::Query < Zillabyte::Command::Base
|
|
109
119
|
headings = []
|
110
120
|
filtered = []
|
111
121
|
if res['rows'].first
|
112
|
-
|
122
|
+
concrete_headings = res['rows'].first.keys
|
123
|
+
concrete_headings.each do |ch|
|
124
|
+
has_alias = false
|
125
|
+
res['column_aliases'].each do |al|
|
126
|
+
if(al["concrete_name"] == ch)
|
127
|
+
headings << al["alias"]
|
128
|
+
has_alias = true
|
129
|
+
end
|
130
|
+
end
|
131
|
+
headings << ch if !has_alias
|
132
|
+
end
|
113
133
|
rows = res['rows'].each do |obj|
|
114
|
-
|
115
134
|
# if obj['since']
|
116
135
|
# opts[:since] = [obj['since'], opts[:since]].compact.max
|
117
136
|
# end
|
118
137
|
|
119
|
-
new_row =
|
138
|
+
new_row = concrete_headings.map do |heading|
|
120
139
|
if options[:no_truncation]
|
121
140
|
obj[heading]
|
122
141
|
else
|
@@ -169,4 +188,4 @@ class Zillabyte::Command::Query < Zillabyte::Command::Base
|
|
169
188
|
|
170
189
|
|
171
190
|
|
172
|
-
end
|
191
|
+
end
|
@@ -45,6 +45,34 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
|
|
45
45
|
alias_command "relation:list", "relations:list"
|
46
46
|
|
47
47
|
|
48
|
+
# relations:delete ID
|
49
|
+
#
|
50
|
+
# deletes a relation
|
51
|
+
#
|
52
|
+
# -f, --force # Delete without asking for confirmation
|
53
|
+
def delete
|
54
|
+
id = options[:id] || shift_argument
|
55
|
+
forced = options[:force]
|
56
|
+
if not forced
|
57
|
+
while true
|
58
|
+
|
59
|
+
display "This operation cannot be undone. Are you sure you want to delete this relation? (yes/no):", false
|
60
|
+
confirm = ask
|
61
|
+
break if confirm == "yes" || confirm == "no"
|
62
|
+
display "Please enter 'yes' to delete the relation or 'no' to exit"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
confirmed = forced || confirm == "yes"
|
67
|
+
|
68
|
+
if confirmed
|
69
|
+
response = api.data.delete(id)
|
70
|
+
display response["body"]
|
71
|
+
end
|
72
|
+
|
73
|
+
|
74
|
+
end
|
75
|
+
|
48
76
|
|
49
77
|
# relations:status RELATION
|
50
78
|
#
|
@@ -98,25 +126,32 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
|
|
98
126
|
# creates a new relation
|
99
127
|
#
|
100
128
|
# --schema SCHEMA # a JSON array of column types
|
101
|
-
# --semantics SEMANTICS # a JSON array of semantics within the relation
|
102
129
|
# --public # Make the relation public
|
103
130
|
#
|
104
131
|
def create
|
105
132
|
|
106
133
|
name = options[:name] || shift_argument
|
134
|
+
file = options[:file] || shift_argument || nil
|
135
|
+
type = options[:type] || nil
|
136
|
+
|
107
137
|
error "no name given" if name.nil?
|
108
138
|
|
109
139
|
schema = JSON.parse(options[:schema]) if options[:schema]
|
110
|
-
semantics = JSON.parse(options[:semantics]) if options[:semantics]
|
111
140
|
is_public = options[:public] || false
|
112
141
|
|
113
|
-
hash = set_relation_properties(schema,
|
142
|
+
hash = set_relation_properties(schema,is_public)
|
143
|
+
if file
|
144
|
+
type ||= File.extname(file).gsub(".", "")
|
145
|
+
rows = sanity_check_file(file,type, {"columns" => hash[:schema]})
|
146
|
+
hash[:rows] = rows
|
147
|
+
end
|
148
|
+
|
114
149
|
res = api.data.create name, hash
|
115
150
|
|
116
151
|
if res['error']
|
117
152
|
display "error: #{res['error_message']}"
|
118
153
|
else
|
119
|
-
display "relation ##{res['id']} #{res['action']}. size: #{res['size']}"
|
154
|
+
display "relation ##{res['id']} #{res['action']}. size: #{res['size'] || 0} rows."
|
120
155
|
end
|
121
156
|
|
122
157
|
end
|
@@ -167,13 +202,24 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
|
|
167
202
|
res = self.api.data.get(name)
|
168
203
|
|
169
204
|
if res["rows"].size > 0
|
170
|
-
|
171
|
-
|
172
|
-
|
205
|
+
headings = []
|
206
|
+
concrete_headings = res["rows"].first.keys
|
207
|
+
concrete_headings.delete("id")
|
208
|
+
concrete_headings.each do |ch|
|
209
|
+
has_alias = false
|
210
|
+
res['column_aliases'].each do |al|
|
211
|
+
if(al["concrete_name"] == ch)
|
212
|
+
headings << al["alias"]
|
213
|
+
has_alias = true
|
214
|
+
end
|
215
|
+
end
|
216
|
+
headings << ch if !has_alias
|
217
|
+
end
|
218
|
+
|
173
219
|
table = Terminal::Table.new :headings => headings
|
174
220
|
res["rows"].each do |obj|
|
175
221
|
|
176
|
-
new_row =
|
222
|
+
new_row = concrete_headings.map do |heading|
|
177
223
|
if options[:no_truncation]
|
178
224
|
obj[heading]
|
179
225
|
else
|
@@ -216,7 +262,7 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
|
|
216
262
|
relations = options[:relations]
|
217
263
|
is_public = options[:public] || false
|
218
264
|
|
219
|
-
hash =
|
265
|
+
hash = set_relation_properties(schema,relations,is_public)
|
220
266
|
res = api.data.create name, hash
|
221
267
|
|
222
268
|
type = options[:type]
|
@@ -233,75 +279,45 @@ class Zillabyte::Command::Relations < Zillabyte::Command::Base
|
|
233
279
|
|
234
280
|
private
|
235
281
|
|
236
|
-
def
|
282
|
+
def set_relation_properties(schema,is_public)
|
237
283
|
valid_types=["STRING", "NUMERIC", "FLOAT"]
|
284
|
+
meta_names=["confidence", "since", "source"]
|
238
285
|
if schema.nil?
|
239
286
|
schema = []
|
240
287
|
|
241
288
|
# Get the column types (required)
|
242
|
-
index =
|
289
|
+
index = 1
|
290
|
+
display "Please enter column names and types:\n", false
|
291
|
+
already_aliased = {}
|
243
292
|
while true
|
244
|
-
|
245
|
-
display "
|
246
|
-
|
247
|
-
break if
|
248
|
-
|
249
|
-
warn "
|
293
|
+
|
294
|
+
display "Column #{index} name (empty when done): ", false
|
295
|
+
cname = ask.strip
|
296
|
+
break if cname == "" || cname.nil?
|
297
|
+
if((cname[0].downcase == "v" and cname[1...-1].respond_to?("to_i") and cname[1...-1].to_i >= 0) or meta_names.member?(cname.downcase))
|
298
|
+
warn "\"v[number]\", \"confidence\", \"since\" and \"source\" are special names in Zillabyte. Please name your column name something else."
|
299
|
+
next
|
300
|
+
end
|
301
|
+
if(already_aliased[cname])
|
302
|
+
warn "Column name defined previously. Please use unique column names."
|
303
|
+
next
|
304
|
+
end
|
305
|
+
|
306
|
+
display "Type for column #{index} [#{valid_types.join(', ')}]: ", false
|
307
|
+
ctype = ask.upcase
|
308
|
+
unless valid_types.member?(ctype)
|
309
|
+
warn "invalid type: #{ctype}"
|
250
310
|
next
|
251
311
|
end
|
252
|
-
index += 1
|
253
|
-
schema <<
|
312
|
+
index += 1
|
313
|
+
schema << {cname => ctype}
|
314
|
+
already_aliased[cname] = 1
|
254
315
|
end
|
255
316
|
|
256
317
|
display "using schema: #{schema.to_json}"
|
257
318
|
|
258
319
|
end
|
259
|
-
|
260
|
-
if relations.nil?
|
261
|
-
|
262
|
-
# Get the semantics (inner relations)
|
263
|
-
relations = []
|
264
|
-
display "would you like to define relations on your dataset? (yes/No): ", false
|
265
|
-
if ['y', 'yes'].include?(ask.downcase)
|
266
|
-
|
267
|
-
# Display the first bit of the taple
|
268
|
-
display Terminal::Table.new(:rows => [schema], :headings => schema.size.times.map{|i| "v#{i}"}).to_s
|
269
|
-
|
270
|
-
# Start collection relations
|
271
|
-
while true
|
272
|
-
display "relation predicate (ex: \"(company v0)\", \"(coordinates v1 v2)\"): ", false
|
273
|
-
input = ask
|
274
|
-
break if input.nil? || input == ""
|
275
|
-
|
276
|
-
pred = input.gsub("(","").gsub(")", "").split(/\s+/)
|
277
|
-
pred_name = pred[0]
|
278
|
-
pred_cols = pred[1..-1]
|
279
|
-
pred_cols.each_with_index do |col, pred_index|
|
280
|
-
m = /v(\d+)/.match(col)
|
281
|
-
if m.nil?
|
282
|
-
warn "the predicate variables must be of the form \"v[1-10]\""
|
283
|
-
next
|
284
|
-
end
|
285
|
-
|
286
|
-
column = m[1].to_i
|
287
|
-
if column >= schema.size
|
288
|
-
warn "the variable #{col} is out of range"
|
289
|
-
next
|
290
|
-
end
|
291
|
-
|
292
|
-
# Otherwise, successful
|
293
|
-
relations[column] ||= []
|
294
|
-
relations[column] << "#{pred_name}.#{pred_index}"
|
295
|
-
end
|
296
|
-
|
297
|
-
end
|
298
|
-
|
299
|
-
# Show them what the relation looks like
|
300
|
-
display "using relation: #{relations.to_json}"
|
301
|
-
|
302
|
-
end
|
303
|
-
end
|
304
|
-
{:schema => schema, :relations => relations, :public => is_public}
|
320
|
+
{:schema => schema, :public => is_public}
|
305
321
|
end
|
306
322
|
|
307
323
|
def sanity_check_file(file,type,dataset)
|
@@ -22,7 +22,10 @@ Zillabyte.simple_function do |fn|
|
|
22
22
|
url = tuple['v0']
|
23
23
|
html = tuple['v1']
|
24
24
|
|
25
|
-
#
|
25
|
+
# For the purpose of this test, to show results from the test set,
|
26
|
+
# we'll loosen the search to include either hello or world
|
27
|
+
# instead of
|
28
|
+
# if html.include?('hello world')
|
26
29
|
if html.include?('hello') or html.include?('world')
|
27
30
|
controller.emit("URL" => url)
|
28
31
|
end
|
data/zillabyte-cli.gemspec
CHANGED
@@ -20,23 +20,18 @@ Gem::Specification.new do |spec|
|
|
20
20
|
end
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
|
-
spec.add_development_dependency "bundler", "~> 1.3"
|
24
23
|
spec.add_development_dependency "rake"
|
25
24
|
|
26
25
|
spec.add_dependency "netrc", "~> 0.7.7"
|
27
26
|
spec.add_dependency "rest-client", "~> 1.6.1"
|
28
27
|
|
29
|
-
spec.add_dependency "excon"
|
30
|
-
spec.add_dependency "terminal-table"
|
28
|
+
spec.add_dependency "excon", "~> 0.31"
|
29
|
+
spec.add_dependency "terminal-table", "~> 1.4"
|
31
30
|
spec.add_dependency "activesupport", "~> 3.2.11"
|
32
31
|
|
33
|
-
spec.add_dependency "
|
34
|
-
spec.add_dependency "
|
35
|
-
spec.add_dependency "
|
36
|
-
spec.add_dependency "
|
37
|
-
|
38
|
-
spec.add_dependency "bundler"
|
39
|
-
|
40
|
-
spec.add_dependency "mkfifo"
|
41
|
-
|
32
|
+
spec.add_dependency "bundler", "~> 1.3"
|
33
|
+
spec.add_dependency "colorize", "~> 0.6"
|
34
|
+
spec.add_dependency "chronic", "~> 0.10"
|
35
|
+
spec.add_dependency "ascii_charts", "~> 0.9.1"
|
36
|
+
spec.add_dependency "indentation", "~> 0.1"
|
42
37
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zillabyte-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zillabyte
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ~>
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.3'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ~>
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.3'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rake
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,30 +56,30 @@ dependencies:
|
|
70
56
|
name: excon
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
|
-
- -
|
59
|
+
- - ~>
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
61
|
+
version: '0.31'
|
76
62
|
type: :runtime
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
|
-
- -
|
66
|
+
- - ~>
|
81
67
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
68
|
+
version: '0.31'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: terminal-table
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
|
-
- -
|
73
|
+
- - ~>
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
75
|
+
version: '1.4'
|
90
76
|
type: :runtime
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
|
-
- -
|
80
|
+
- - ~>
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
82
|
+
version: '1.4'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: activesupport
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,89 +95,75 @@ dependencies:
|
|
109
95
|
- !ruby/object:Gem::Version
|
110
96
|
version: 3.2.11
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ! '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :runtime
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ! '>='
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: chronic
|
98
|
+
name: bundler
|
127
99
|
requirement: !ruby/object:Gem::Requirement
|
128
100
|
requirements:
|
129
|
-
- -
|
101
|
+
- - ~>
|
130
102
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
103
|
+
version: '1.3'
|
132
104
|
type: :runtime
|
133
105
|
prerelease: false
|
134
106
|
version_requirements: !ruby/object:Gem::Requirement
|
135
107
|
requirements:
|
136
|
-
- -
|
108
|
+
- - ~>
|
137
109
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
110
|
+
version: '1.3'
|
139
111
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
112
|
+
name: colorize
|
141
113
|
requirement: !ruby/object:Gem::Requirement
|
142
114
|
requirements:
|
143
|
-
- -
|
115
|
+
- - ~>
|
144
116
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
117
|
+
version: '0.6'
|
146
118
|
type: :runtime
|
147
119
|
prerelease: false
|
148
120
|
version_requirements: !ruby/object:Gem::Requirement
|
149
121
|
requirements:
|
150
|
-
- -
|
122
|
+
- - ~>
|
151
123
|
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
124
|
+
version: '0.6'
|
153
125
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
126
|
+
name: chronic
|
155
127
|
requirement: !ruby/object:Gem::Requirement
|
156
128
|
requirements:
|
157
|
-
- -
|
129
|
+
- - ~>
|
158
130
|
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
131
|
+
version: '0.10'
|
160
132
|
type: :runtime
|
161
133
|
prerelease: false
|
162
134
|
version_requirements: !ruby/object:Gem::Requirement
|
163
135
|
requirements:
|
164
|
-
- -
|
136
|
+
- - ~>
|
165
137
|
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
138
|
+
version: '0.10'
|
167
139
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
140
|
+
name: ascii_charts
|
169
141
|
requirement: !ruby/object:Gem::Requirement
|
170
142
|
requirements:
|
171
|
-
- -
|
143
|
+
- - ~>
|
172
144
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
145
|
+
version: 0.9.1
|
174
146
|
type: :runtime
|
175
147
|
prerelease: false
|
176
148
|
version_requirements: !ruby/object:Gem::Requirement
|
177
149
|
requirements:
|
178
|
-
- -
|
150
|
+
- - ~>
|
179
151
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
152
|
+
version: 0.9.1
|
181
153
|
- !ruby/object:Gem::Dependency
|
182
|
-
name:
|
154
|
+
name: indentation
|
183
155
|
requirement: !ruby/object:Gem::Requirement
|
184
156
|
requirements:
|
185
|
-
- -
|
157
|
+
- - ~>
|
186
158
|
- !ruby/object:Gem::Version
|
187
|
-
version: '0'
|
159
|
+
version: '0.1'
|
188
160
|
type: :runtime
|
189
161
|
prerelease: false
|
190
162
|
version_requirements: !ruby/object:Gem::Requirement
|
191
163
|
requirements:
|
192
|
-
- -
|
164
|
+
- - ~>
|
193
165
|
- !ruby/object:Gem::Version
|
194
|
-
version: '0'
|
166
|
+
version: '0.1'
|
195
167
|
description: The Official Zillabyte CLI Gem
|
196
168
|
email:
|
197
169
|
- gem@zillabyte.com
|