tap 0.18.0 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History +21 -0
- data/MIT-LICENSE +17 -15
- data/README +13 -30
- data/bin/tap +19 -24
- data/cmd/console.rb +1 -12
- data/cmd/manifest.rb +14 -19
- data/cmd/run.rb +96 -86
- data/doc/API +194 -54
- data/doc/Examples/Command Line +27 -1
- data/lib/tap.rb +2 -1
- data/lib/tap/app.rb +613 -166
- data/lib/tap/app/api.rb +115 -0
- data/lib/tap/app/queue.rb +36 -37
- data/lib/tap/app/state.rb +2 -1
- data/lib/tap/env.rb +454 -270
- data/lib/tap/env/constant.rb +83 -33
- data/lib/tap/env/context.rb +61 -0
- data/lib/tap/env/manifest.rb +140 -50
- data/lib/tap/env/minimap.rb +55 -39
- data/lib/tap/join.rb +71 -53
- data/lib/tap/joins/sync.rb +3 -1
- data/lib/tap/middleware.rb +4 -25
- data/lib/tap/middlewares/debugger.rb +75 -0
- data/lib/tap/parser.rb +268 -0
- data/lib/tap/prompt.rb +36 -0
- data/lib/tap/root.rb +3 -3
- data/lib/tap/signals.rb +26 -0
- data/lib/tap/signals/class_methods.rb +222 -0
- data/lib/tap/signals/help.rb +40 -0
- data/lib/tap/signals/module_methods.rb +20 -0
- data/lib/tap/signals/signal.rb +68 -0
- data/lib/tap/task.rb +28 -79
- data/lib/tap/tasks/dump.rb +6 -0
- data/lib/tap/tasks/load.rb +9 -37
- data/lib/tap/templater.rb +12 -1
- data/lib/tap/version.rb +1 -1
- metadata +22 -16
- data/doc/Class Reference +0 -330
- data/lib/tap/exe.rb +0 -130
- data/lib/tap/schema.rb +0 -374
- data/lib/tap/schema/parser.rb +0 -425
- data/lib/tap/schema/utils.rb +0 -56
data/lib/tap/schema/utils.rb
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
module Tap
|
2
|
-
class Schema
|
3
|
-
module Utils
|
4
|
-
module_function
|
5
|
-
|
6
|
-
def instantiate(data, app)
|
7
|
-
case data
|
8
|
-
when Hash then data[:class].instantiate(data, app)
|
9
|
-
when Array then data.shift.parse!(data, app)
|
10
|
-
else raise "cannot instantiate: #{data.inspect}"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def resolved?(data)
|
15
|
-
case data
|
16
|
-
when Hash then data[:class].respond_to?(:instantiate)
|
17
|
-
when Array then data[0].respond_to?(:parse!)
|
18
|
-
else false
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def resolve(data)
|
23
|
-
return data if resolved?(data)
|
24
|
-
|
25
|
-
case data
|
26
|
-
when Hash
|
27
|
-
unless resolved?(data)
|
28
|
-
data = symbolize(data)
|
29
|
-
data[:class] = yield(data[:id]) || data[:id]
|
30
|
-
end
|
31
|
-
when Array
|
32
|
-
data[0] = yield(data[0]) || data[0]
|
33
|
-
end
|
34
|
-
|
35
|
-
data
|
36
|
-
end
|
37
|
-
|
38
|
-
# Symbolizes the keys of hash. Returns non-hash values directly and
|
39
|
-
# raises an error in the event of a symbolize conflict.
|
40
|
-
def symbolize(hash)
|
41
|
-
result = {}
|
42
|
-
hash.each_pair do |key, value|
|
43
|
-
key = key.to_sym || key
|
44
|
-
|
45
|
-
if result.has_key?(key)
|
46
|
-
raise "symbolize conflict: #{hash.inspect} (#{key.inspect})"
|
47
|
-
end
|
48
|
-
|
49
|
-
result[key] = value
|
50
|
-
end
|
51
|
-
result
|
52
|
-
end
|
53
|
-
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|