zillabyte-cli 0.0.9 → 0.0.10
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.
- 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
|