gloo 0.5.4 → 0.7.2
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 +4 -4
- data/.gitignore +1 -0
- data/Gemfile.lock +1 -1
- data/lib/gloo/app/args.rb +48 -6
- data/lib/gloo/app/engine.rb +60 -38
- data/lib/gloo/app/help.rb +137 -16
- data/lib/gloo/app/info.rb +3 -1
- data/lib/gloo/app/log.rb +23 -0
- data/lib/gloo/app/mode.rb +2 -0
- data/lib/gloo/app/settings.rb +98 -47
- data/lib/gloo/convert/converter.rb +35 -0
- data/lib/gloo/convert/string_to_datetime.rb +1 -1
- data/lib/gloo/convert/string_to_decimal.rb +1 -1
- data/lib/gloo/convert/string_to_integer.rb +1 -1
- data/lib/gloo/core/dictionary.rb +99 -22
- data/lib/gloo/core/error.rb +19 -8
- data/lib/gloo/core/event_manager.rb +4 -0
- data/lib/gloo/core/factory.rb +11 -0
- data/lib/gloo/core/gloo_system.rb +1 -1
- data/lib/gloo/core/heap.rb +11 -3
- data/lib/gloo/core/here.rb +36 -0
- data/lib/gloo/core/it.rb +6 -0
- data/lib/gloo/core/literal.rb +5 -0
- data/lib/gloo/core/obj.rb +22 -0
- data/lib/gloo/core/op.rb +7 -0
- data/lib/gloo/core/parser.rb +6 -0
- data/lib/gloo/core/pn.rb +38 -0
- data/lib/gloo/core/tokens.rb +66 -22
- data/lib/gloo/core/verb.rb +12 -0
- data/lib/gloo/exec/action.rb +48 -0
- data/lib/gloo/exec/dispatch.rb +15 -5
- data/lib/gloo/exec/exec_env.rb +74 -0
- data/lib/gloo/exec/runner.rb +4 -2
- data/lib/gloo/{core → exec}/script.rb +21 -9
- data/lib/gloo/exec/stack.rb +78 -0
- data/lib/gloo/expr/expression.rb +26 -4
- data/lib/gloo/expr/l_boolean.rb +6 -0
- data/lib/gloo/expr/l_decimal.rb +5 -0
- data/lib/gloo/expr/l_integer.rb +7 -0
- data/lib/gloo/expr/l_string.rb +7 -0
- data/lib/gloo/expr/op_div.rb +2 -0
- data/lib/gloo/expr/op_minus.rb +2 -0
- data/lib/gloo/expr/op_mult.rb +2 -0
- data/lib/gloo/expr/op_plus.rb +2 -0
- data/lib/gloo/help/app/application.txt +22 -0
- data/lib/gloo/help/app/configuration.txt +7 -0
- data/lib/gloo/help/app/default_help.txt +14 -0
- data/lib/gloo/help/app/logging.txt +16 -0
- data/lib/gloo/help/core/color.txt +31 -0
- data/lib/gloo/help/core/error.txt +33 -0
- data/lib/gloo/help/core/events.txt +21 -0
- data/lib/gloo/help/core/gloo_system.txt +54 -0
- data/lib/gloo/help/core/here.txt +30 -0
- data/lib/gloo/help/core/it.txt +23 -0
- data/lib/gloo/help/core/ops.txt +16 -0
- data/lib/gloo/help/core/pathname.txt +29 -0
- data/lib/gloo/help/objs/basic/alias.txt +36 -0
- data/lib/gloo/help/objs/basic/boolean.txt +28 -0
- data/lib/gloo/help/objs/basic/container.txt +33 -0
- data/lib/gloo/help/objs/basic/decimal.txt +28 -0
- data/lib/gloo/help/objs/basic/integer.txt +27 -0
- data/lib/gloo/help/objs/basic/script.txt +29 -0
- data/lib/gloo/help/objs/basic/string.txt +28 -0
- data/lib/gloo/help/objs/basic/text.txt +27 -0
- data/lib/gloo/help/objs/basic/untyped.txt +22 -0
- data/lib/gloo/help/objs/cli/banner.txt +49 -0
- data/lib/gloo/help/objs/cli/bar.txt +34 -0
- data/lib/gloo/help/objs/cli/colorize.txt +33 -0
- data/lib/gloo/help/objs/cli/confirm.txt +26 -0
- data/lib/gloo/help/objs/cli/menu.txt +44 -0
- data/lib/gloo/help/objs/cli/menu_item.txt +26 -0
- data/lib/gloo/help/objs/cli/pastel.txt +43 -0
- data/lib/gloo/help/objs/cli/prompt.txt +27 -0
- data/lib/gloo/help/objs/cli/select.txt +34 -0
- data/lib/gloo/help/objs/ctrl/each.txt +48 -0
- data/lib/gloo/help/objs/ctrl/repeat.txt +38 -0
- data/lib/gloo/help/objs/data/markdown.txt +25 -0
- data/lib/gloo/help/objs/data/table.txt +46 -0
- data/lib/gloo/help/objs/dev/git_repo.txt +35 -0
- data/lib/gloo/help/objs/dt/date.txt +23 -0
- data/lib/gloo/help/objs/dt/datetime.txt +24 -0
- data/lib/gloo/help/objs/dt/time.txt +23 -0
- data/lib/gloo/help/objs/ror/erb.txt +37 -0
- data/lib/gloo/help/objs/ror/eval.txt +24 -0
- data/lib/gloo/help/objs/snd/play.txt +23 -0
- data/lib/gloo/help/objs/snd/say.txt +28 -0
- data/lib/gloo/help/objs/system/file.txt +41 -0
- data/lib/gloo/help/objs/system/system.txt +32 -0
- data/lib/gloo/help/objs/web/http_get.txt +35 -0
- data/lib/gloo/help/objs/web/http_post.txt +32 -0
- data/lib/gloo/help/objs/web/json.txt +34 -0
- data/lib/gloo/help/objs/web/slack.txt +33 -0
- data/lib/gloo/help/objs/web/teams.txt +30 -0
- data/lib/gloo/help/objs/web/uri.txt +37 -0
- data/lib/gloo/help/verbs/alert.txt +33 -0
- data/lib/gloo/help/verbs/beep.txt +25 -0
- data/lib/gloo/help/verbs/cls.txt +24 -0
- data/lib/gloo/help/verbs/context.txt +43 -0
- data/lib/gloo/help/verbs/create.txt +33 -0
- data/lib/gloo/help/verbs/execute.txt +27 -0
- data/lib/gloo/help/verbs/help.txt +34 -0
- data/lib/gloo/help/verbs/if.txt +37 -0
- data/lib/gloo/help/verbs/list.txt +34 -0
- data/lib/gloo/help/verbs/load.txt +38 -0
- data/lib/gloo/help/verbs/move.txt +42 -0
- data/lib/gloo/help/verbs/put.txt +38 -0
- data/lib/gloo/help/verbs/quit.txt +25 -0
- data/lib/gloo/help/verbs/run.txt +41 -0
- data/lib/gloo/help/verbs/save.txt +26 -0
- data/lib/gloo/help/verbs/show.txt +30 -0
- data/lib/gloo/help/verbs/tell.txt +34 -0
- data/lib/gloo/help/verbs/unless.txt +38 -0
- data/lib/gloo/help/verbs/version.txt +32 -0
- data/lib/gloo/help/verbs/wait.txt +29 -0
- data/lib/gloo/objs/basic/alias.rb +0 -33
- data/lib/gloo/objs/basic/boolean.rb +6 -27
- data/lib/gloo/objs/basic/container.rb +0 -33
- data/lib/gloo/objs/basic/decimal.rb +8 -28
- data/lib/gloo/objs/basic/integer.rb +5 -26
- data/lib/gloo/objs/basic/script.rb +1 -27
- data/lib/gloo/objs/basic/string.rb +6 -26
- data/lib/gloo/objs/basic/text.rb +0 -25
- data/lib/gloo/objs/basic/untyped.rb +0 -26
- data/lib/gloo/objs/cli/banner.rb +0 -29
- data/lib/gloo/objs/cli/bar.rb +0 -29
- data/lib/gloo/objs/cli/colorize.rb +4 -34
- data/lib/gloo/objs/cli/confirm.rb +6 -36
- data/lib/gloo/objs/cli/menu.rb +6 -36
- data/lib/gloo/objs/cli/menu_item.rb +0 -33
- data/lib/gloo/objs/cli/pastel.rb +4 -27
- data/lib/gloo/objs/cli/prompt.rb +4 -28
- data/lib/gloo/objs/cli/select.rb +4 -31
- data/lib/gloo/objs/ctrl/each.rb +33 -33
- data/lib/gloo/objs/ctrl/repeat.rb +8 -29
- data/lib/gloo/objs/data/markdown.rb +0 -25
- data/lib/gloo/objs/data/table.rb +4 -32
- data/lib/gloo/objs/dev/git.rb +12 -30
- data/lib/gloo/objs/dt/date.rb +3 -25
- data/lib/gloo/objs/dt/datetime.rb +4 -26
- data/lib/gloo/objs/dt/time.rb +3 -25
- data/lib/gloo/objs/ror/erb.rb +11 -45
- data/lib/gloo/objs/ror/eval.rb +11 -38
- data/lib/gloo/objs/snd/play.rb +2 -25
- data/lib/gloo/objs/snd/say.rb +9 -31
- data/lib/gloo/objs/system/file_handle.rb +0 -38
- data/lib/gloo/objs/system/system.rb +16 -46
- data/lib/gloo/objs/web/http_get.rb +57 -83
- data/lib/gloo/objs/web/http_post.rb +8 -31
- data/lib/gloo/objs/web/json.rb +11 -31
- data/lib/gloo/objs/web/slack.rb +7 -34
- data/lib/gloo/objs/web/teams.rb +13 -48
- data/lib/gloo/objs/web/uri.rb +0 -29
- data/lib/gloo/persist/file_loader.rb +8 -0
- data/lib/gloo/persist/file_saver.rb +6 -0
- data/lib/gloo/persist/file_storage.rb +2 -0
- data/lib/gloo/persist/line_splitter.rb +2 -0
- data/lib/gloo/persist/persist_man.rb +6 -0
- data/lib/gloo/verbs/alert.rb +30 -44
- data/lib/gloo/verbs/beep.rb +0 -30
- data/lib/gloo/verbs/cls.rb +0 -30
- data/lib/gloo/verbs/context.rb +9 -39
- data/lib/gloo/verbs/create.rb +17 -32
- data/lib/gloo/verbs/execute.rb +52 -0
- data/lib/gloo/verbs/help.rb +151 -115
- data/lib/gloo/verbs/if.rb +46 -44
- data/lib/gloo/verbs/list.rb +36 -54
- data/lib/gloo/verbs/load.rb +8 -37
- data/lib/gloo/verbs/move.rb +12 -51
- data/lib/gloo/verbs/put.rb +28 -52
- data/lib/gloo/verbs/quit.rb +0 -31
- data/lib/gloo/verbs/run.rb +23 -39
- data/lib/gloo/verbs/save.rb +0 -33
- data/lib/gloo/verbs/show.rb +6 -31
- data/lib/gloo/verbs/tell.rb +31 -31
- data/lib/gloo/verbs/unless.rb +47 -46
- data/lib/gloo/verbs/version.rb +0 -30
- data/lib/gloo/verbs/wait.rb +0 -31
- metadata +79 -3
data/lib/gloo/objs/cli/pastel.rb
CHANGED
|
@@ -52,16 +52,20 @@ module Gloo
|
|
|
52
52
|
# Children
|
|
53
53
|
# ---------------------------------------------------------------------
|
|
54
54
|
|
|
55
|
+
#
|
|
55
56
|
# Does this object have children to add when an object
|
|
56
57
|
# is created in interactive mode?
|
|
57
58
|
# This does not apply during obj load, etc.
|
|
59
|
+
#
|
|
58
60
|
def add_children_on_create?
|
|
59
61
|
return true
|
|
60
62
|
end
|
|
61
63
|
|
|
64
|
+
#
|
|
62
65
|
# Add children to this object.
|
|
63
66
|
# This is used by containers to add children needed
|
|
64
67
|
# for default configurations.
|
|
68
|
+
#
|
|
65
69
|
def add_default_children
|
|
66
70
|
fac = $engine.factory
|
|
67
71
|
fac.create_string TEXT, '', self
|
|
@@ -88,33 +92,6 @@ module Gloo
|
|
|
88
92
|
puts pastel.decorate( self.text_value, *c )
|
|
89
93
|
end
|
|
90
94
|
|
|
91
|
-
# ---------------------------------------------------------------------
|
|
92
|
-
# Help
|
|
93
|
-
# ---------------------------------------------------------------------
|
|
94
|
-
|
|
95
|
-
#
|
|
96
|
-
# Get help for this object type.
|
|
97
|
-
#
|
|
98
|
-
def self.help
|
|
99
|
-
return <<~TEXT
|
|
100
|
-
PASTEL OBJECT TYPE
|
|
101
|
-
NAME: pastel
|
|
102
|
-
SHORTCUT: pastel
|
|
103
|
-
|
|
104
|
-
DESCRIPTION
|
|
105
|
-
Show colorized text with the pastel gem.
|
|
106
|
-
|
|
107
|
-
CHILDREN
|
|
108
|
-
text - string
|
|
109
|
-
The text that will be colorized.
|
|
110
|
-
color - string
|
|
111
|
-
The colors. See pastel for options.
|
|
112
|
-
|
|
113
|
-
MESSAGES
|
|
114
|
-
show - Show the colorized text.
|
|
115
|
-
TEXT
|
|
116
|
-
end
|
|
117
|
-
|
|
118
95
|
end
|
|
119
96
|
end
|
|
120
97
|
end
|
data/lib/gloo/objs/cli/prompt.rb
CHANGED
|
@@ -52,16 +52,20 @@ module Gloo
|
|
|
52
52
|
# Children
|
|
53
53
|
# ---------------------------------------------------------------------
|
|
54
54
|
|
|
55
|
+
#
|
|
55
56
|
# Does this object have children to add when an object
|
|
56
57
|
# is created in interactive mode?
|
|
57
58
|
# This does not apply during obj load, etc.
|
|
59
|
+
#
|
|
58
60
|
def add_children_on_create?
|
|
59
61
|
return true
|
|
60
62
|
end
|
|
61
63
|
|
|
64
|
+
#
|
|
62
65
|
# Add children to this object.
|
|
63
66
|
# This is used by containers to add children needed
|
|
64
67
|
# for default configurations.
|
|
68
|
+
#
|
|
65
69
|
def add_default_children
|
|
66
70
|
fac = $engine.factory
|
|
67
71
|
fac.create_string PROMPT, '>', self
|
|
@@ -101,34 +105,6 @@ module Gloo
|
|
|
101
105
|
set_result result
|
|
102
106
|
end
|
|
103
107
|
|
|
104
|
-
# ---------------------------------------------------------------------
|
|
105
|
-
# Help
|
|
106
|
-
# ---------------------------------------------------------------------
|
|
107
|
-
|
|
108
|
-
#
|
|
109
|
-
# Get help for this object type.
|
|
110
|
-
#
|
|
111
|
-
def self.help
|
|
112
|
-
return <<~TEXT
|
|
113
|
-
PROMPT OBJECT TYPE
|
|
114
|
-
NAME: prompt
|
|
115
|
-
SHORTCUT: ask
|
|
116
|
-
|
|
117
|
-
DESCRIPTION
|
|
118
|
-
CLI prompt for user input.
|
|
119
|
-
|
|
120
|
-
CHILDREN
|
|
121
|
-
prompt - string - '> '
|
|
122
|
-
The prompt displayed to the user.
|
|
123
|
-
result - string - none
|
|
124
|
-
The result with the user's input.
|
|
125
|
-
|
|
126
|
-
MESSAGES
|
|
127
|
-
run - Prompt the user and then set the result.
|
|
128
|
-
multiline - Show a multiline prompt.
|
|
129
|
-
TEXT
|
|
130
|
-
end
|
|
131
|
-
|
|
132
108
|
end
|
|
133
109
|
end
|
|
134
110
|
end
|
data/lib/gloo/objs/cli/select.rb
CHANGED
|
@@ -77,16 +77,20 @@ module Gloo
|
|
|
77
77
|
# Children
|
|
78
78
|
# ---------------------------------------------------------------------
|
|
79
79
|
|
|
80
|
+
#
|
|
80
81
|
# Does this object have children to add when an object
|
|
81
82
|
# is created in interactive mode?
|
|
82
83
|
# This does not apply during obj load, etc.
|
|
84
|
+
#
|
|
83
85
|
def add_children_on_create?
|
|
84
86
|
return true
|
|
85
87
|
end
|
|
86
88
|
|
|
89
|
+
#
|
|
87
90
|
# Add children to this object.
|
|
88
91
|
# This is used by containers to add children needed
|
|
89
92
|
# for default configurations.
|
|
93
|
+
#
|
|
90
94
|
def add_default_children
|
|
91
95
|
fac = $engine.factory
|
|
92
96
|
fac.create_string PROMPT, '>', self
|
|
@@ -117,37 +121,6 @@ module Gloo
|
|
|
117
121
|
set_result self.key_for_option( result )
|
|
118
122
|
end
|
|
119
123
|
|
|
120
|
-
# ---------------------------------------------------------------------
|
|
121
|
-
# Help
|
|
122
|
-
# ---------------------------------------------------------------------
|
|
123
|
-
|
|
124
|
-
#
|
|
125
|
-
# Get help for this object type.
|
|
126
|
-
#
|
|
127
|
-
def self.help
|
|
128
|
-
return <<~TEXT
|
|
129
|
-
SELECT OBJECT TYPE
|
|
130
|
-
NAME: select
|
|
131
|
-
SHORTCUT: sel
|
|
132
|
-
|
|
133
|
-
DESCRIPTION
|
|
134
|
-
Prompt for user to select from a list of options.
|
|
135
|
-
|
|
136
|
-
CHILDREN
|
|
137
|
-
prompt - string - '> '
|
|
138
|
-
The prompt displayed to the user.
|
|
139
|
-
options - container
|
|
140
|
-
The list of options for the selection list.
|
|
141
|
-
The name of each option will be presented to the user, but
|
|
142
|
-
the value will be put in the result.
|
|
143
|
-
result - string - none
|
|
144
|
-
The result with the user's selection.
|
|
145
|
-
|
|
146
|
-
MESSAGES
|
|
147
|
-
run - Prompt the user for a selection and then set the result.
|
|
148
|
-
TEXT
|
|
149
|
-
end
|
|
150
|
-
|
|
151
124
|
end
|
|
152
125
|
end
|
|
153
126
|
end
|
data/lib/gloo/objs/ctrl/each.rb
CHANGED
|
@@ -46,7 +46,9 @@ module Gloo
|
|
|
46
46
|
return o ? o.value : nil
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
+
#
|
|
49
50
|
# Run the do script once.
|
|
51
|
+
#
|
|
50
52
|
def run_do
|
|
51
53
|
o = find_child DO
|
|
52
54
|
return unless o
|
|
@@ -58,16 +60,20 @@ module Gloo
|
|
|
58
60
|
# Children
|
|
59
61
|
# ---------------------------------------------------------------------
|
|
60
62
|
|
|
63
|
+
#
|
|
61
64
|
# Does this object have children to add when an object
|
|
62
65
|
# is created in interactive mode?
|
|
63
66
|
# This does not apply during obj load, etc.
|
|
67
|
+
#
|
|
64
68
|
def add_children_on_create?
|
|
65
69
|
return true
|
|
66
70
|
end
|
|
67
71
|
|
|
72
|
+
#
|
|
68
73
|
# Add children to this object.
|
|
69
74
|
# This is used by containers to add children needed
|
|
70
75
|
# for default configurations.
|
|
76
|
+
#
|
|
71
77
|
def add_default_children
|
|
72
78
|
fac = $engine.factory
|
|
73
79
|
fac.create_string WORD, '', self
|
|
@@ -103,16 +109,20 @@ module Gloo
|
|
|
103
109
|
# Child Object
|
|
104
110
|
# ---------------------------------------------------------------------
|
|
105
111
|
|
|
112
|
+
#
|
|
106
113
|
# Is it set up to run for each word?
|
|
107
114
|
# If there is a child object by the name "word"
|
|
108
115
|
# then we will loop for each word in the string.
|
|
116
|
+
#
|
|
109
117
|
def each_child?
|
|
110
118
|
return true if contains_child? CHILD
|
|
111
119
|
|
|
112
120
|
return false
|
|
113
121
|
end
|
|
114
122
|
|
|
123
|
+
#
|
|
115
124
|
# Run for each word.
|
|
125
|
+
#
|
|
116
126
|
def run_each_child
|
|
117
127
|
o = find_child IN
|
|
118
128
|
return unless o
|
|
@@ -124,7 +134,9 @@ module Gloo
|
|
|
124
134
|
end
|
|
125
135
|
end
|
|
126
136
|
|
|
137
|
+
#
|
|
127
138
|
# Set the child alias.
|
|
139
|
+
#
|
|
128
140
|
def set_child( obj )
|
|
129
141
|
o = find_child CHILD
|
|
130
142
|
return unless o
|
|
@@ -136,16 +148,20 @@ module Gloo
|
|
|
136
148
|
# Word
|
|
137
149
|
# ---------------------------------------------------------------------
|
|
138
150
|
|
|
151
|
+
#
|
|
139
152
|
# Is it set up to run for each word?
|
|
140
153
|
# If there is a child object by the name "word"
|
|
141
154
|
# then we will loop for each word in the string.
|
|
155
|
+
#
|
|
142
156
|
def each_word?
|
|
143
157
|
return true if find_child WORD
|
|
144
158
|
|
|
145
159
|
return false
|
|
146
160
|
end
|
|
147
161
|
|
|
162
|
+
#
|
|
148
163
|
# Run for each word.
|
|
164
|
+
#
|
|
149
165
|
def run_each_word
|
|
150
166
|
str = in_value
|
|
151
167
|
return unless str
|
|
@@ -156,7 +172,9 @@ module Gloo
|
|
|
156
172
|
end
|
|
157
173
|
end
|
|
158
174
|
|
|
175
|
+
#
|
|
159
176
|
# Set the value of the word.
|
|
177
|
+
#
|
|
160
178
|
def set_word( word )
|
|
161
179
|
o = find_child WORD
|
|
162
180
|
return unless o
|
|
@@ -168,16 +186,20 @@ module Gloo
|
|
|
168
186
|
# Line
|
|
169
187
|
# ---------------------------------------------------------------------
|
|
170
188
|
|
|
189
|
+
#
|
|
171
190
|
# Is it set up to run for each line?
|
|
172
191
|
# If there is a child object by the name "line"
|
|
173
192
|
# then we will loop for each line in the string.
|
|
193
|
+
#
|
|
174
194
|
def each_line?
|
|
175
195
|
return true if find_child LINE
|
|
176
196
|
|
|
177
197
|
return false
|
|
178
198
|
end
|
|
179
199
|
|
|
200
|
+
#
|
|
180
201
|
# Run for each line.
|
|
202
|
+
#
|
|
181
203
|
def run_each_line
|
|
182
204
|
str = in_value
|
|
183
205
|
return unless str
|
|
@@ -188,7 +210,9 @@ module Gloo
|
|
|
188
210
|
end
|
|
189
211
|
end
|
|
190
212
|
|
|
213
|
+
#
|
|
191
214
|
# Set the value of the word.
|
|
215
|
+
#
|
|
192
216
|
def set_line( line )
|
|
193
217
|
o = find_child LINE
|
|
194
218
|
return unless o
|
|
@@ -200,15 +224,20 @@ module Gloo
|
|
|
200
224
|
# Git Repo
|
|
201
225
|
# ---------------------------------------------------------------------
|
|
202
226
|
|
|
227
|
+
#
|
|
203
228
|
# Is it set up to run for each git repo?
|
|
204
229
|
# If there is a child object by the name "repo"
|
|
205
230
|
# then we will loop for each repo in the directory.
|
|
231
|
+
#
|
|
206
232
|
def each_repo?
|
|
207
233
|
return true if find_child REPO
|
|
208
234
|
|
|
209
235
|
return false
|
|
210
236
|
end
|
|
211
237
|
|
|
238
|
+
#
|
|
239
|
+
# Find all git projects in a path.
|
|
240
|
+
#
|
|
212
241
|
def find_all_git_projects( path )
|
|
213
242
|
path.children.collect do |f|
|
|
214
243
|
if f.directory? && ( File.basename( f ) == '.git' )
|
|
@@ -219,7 +248,9 @@ module Gloo
|
|
|
219
248
|
end.flatten.compact
|
|
220
249
|
end
|
|
221
250
|
|
|
251
|
+
#
|
|
222
252
|
# Run for each line.
|
|
253
|
+
#
|
|
223
254
|
def run_each_repo
|
|
224
255
|
path = in_value
|
|
225
256
|
return unless path
|
|
@@ -232,8 +263,10 @@ module Gloo
|
|
|
232
263
|
end
|
|
233
264
|
end
|
|
234
265
|
|
|
266
|
+
#
|
|
235
267
|
# Set the value of the repo.
|
|
236
268
|
# This is a path to the repo.
|
|
269
|
+
#
|
|
237
270
|
def set_repo( path )
|
|
238
271
|
o = find_child REPO
|
|
239
272
|
return unless o
|
|
@@ -241,39 +274,6 @@ module Gloo
|
|
|
241
274
|
o.set_value path
|
|
242
275
|
end
|
|
243
276
|
|
|
244
|
-
# ---------------------------------------------------------------------
|
|
245
|
-
# Help
|
|
246
|
-
# ---------------------------------------------------------------------
|
|
247
|
-
|
|
248
|
-
#
|
|
249
|
-
# Get help for this object type.
|
|
250
|
-
#
|
|
251
|
-
def self.help
|
|
252
|
-
return <<~TEXT
|
|
253
|
-
EACH OBJECT TYPE
|
|
254
|
-
NAME: each
|
|
255
|
-
SHORTCUT: each
|
|
256
|
-
|
|
257
|
-
DESCRIPTION
|
|
258
|
-
Perform an action for each item in a collection.
|
|
259
|
-
|
|
260
|
-
CHILDREN
|
|
261
|
-
child | word | line | repo - string - none
|
|
262
|
-
The entity we want to loop for.
|
|
263
|
-
It will hold the current value while the script is running.
|
|
264
|
-
in - string - none
|
|
265
|
-
The collection we will iterate in.
|
|
266
|
-
In the case of <word> or <line> this will be a string or text.
|
|
267
|
-
In the case of <repo> this will be the root path.
|
|
268
|
-
do - script - none
|
|
269
|
-
The action we want to perform for each found item.
|
|
270
|
-
|
|
271
|
-
MESSAGES
|
|
272
|
-
run - Look through the collecion and perform this for each
|
|
273
|
-
found item.
|
|
274
|
-
TEXT
|
|
275
|
-
end
|
|
276
|
-
|
|
277
277
|
end
|
|
278
278
|
end
|
|
279
279
|
end
|
|
@@ -37,7 +37,9 @@ module Gloo
|
|
|
37
37
|
return o ? o.value : 0
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
+
#
|
|
40
41
|
# Run the do script once.
|
|
42
|
+
#
|
|
41
43
|
def run_do
|
|
42
44
|
o = find_child DO
|
|
43
45
|
return unless o
|
|
@@ -45,7 +47,9 @@ module Gloo
|
|
|
45
47
|
Gloo::Exec::Dispatch.message 'run', o
|
|
46
48
|
end
|
|
47
49
|
|
|
50
|
+
#
|
|
48
51
|
# Set the index of the current iteration.
|
|
52
|
+
#
|
|
49
53
|
def set_index( index )
|
|
50
54
|
o = find_child INDEX
|
|
51
55
|
return unless o
|
|
@@ -57,16 +61,20 @@ module Gloo
|
|
|
57
61
|
# Children
|
|
58
62
|
# ---------------------------------------------------------------------
|
|
59
63
|
|
|
64
|
+
#
|
|
60
65
|
# Does this object have children to add when an object
|
|
61
66
|
# is created in interactive mode?
|
|
62
67
|
# This does not apply during obj load, etc.
|
|
68
|
+
#
|
|
63
69
|
def add_children_on_create?
|
|
64
70
|
return true
|
|
65
71
|
end
|
|
66
72
|
|
|
73
|
+
#
|
|
67
74
|
# Add children to this object.
|
|
68
75
|
# This is used by containers to add children needed
|
|
69
76
|
# for default configurations.
|
|
77
|
+
#
|
|
70
78
|
def add_default_children
|
|
71
79
|
fac = $engine.factory
|
|
72
80
|
fac.create_int TIMES, 0, self
|
|
@@ -95,35 +103,6 @@ module Gloo
|
|
|
95
103
|
end
|
|
96
104
|
end
|
|
97
105
|
|
|
98
|
-
# ---------------------------------------------------------------------
|
|
99
|
-
# Help
|
|
100
|
-
# ---------------------------------------------------------------------
|
|
101
|
-
|
|
102
|
-
#
|
|
103
|
-
# Get help for this object type.
|
|
104
|
-
#
|
|
105
|
-
def self.help
|
|
106
|
-
return <<~TEXT
|
|
107
|
-
REPEAT OBJECT TYPE
|
|
108
|
-
NAME: repeat
|
|
109
|
-
SHORTCUT: repeat
|
|
110
|
-
|
|
111
|
-
DESCRIPTION
|
|
112
|
-
Run a script a given number of times.
|
|
113
|
-
|
|
114
|
-
CHILDREN
|
|
115
|
-
times integer - 0
|
|
116
|
-
The number of times to run the script.
|
|
117
|
-
index integer - 0
|
|
118
|
-
The current iteration when the repeat loop is running.
|
|
119
|
-
do - script - none
|
|
120
|
-
The action we want to perform for iteration of the loop.
|
|
121
|
-
|
|
122
|
-
MESSAGES
|
|
123
|
-
run - Run the script for the given number of times.
|
|
124
|
-
TEXT
|
|
125
|
-
end
|
|
126
|
-
|
|
127
106
|
end
|
|
128
107
|
end
|
|
129
108
|
end
|
|
@@ -79,31 +79,6 @@ module Gloo
|
|
|
79
79
|
pager.page( md )
|
|
80
80
|
end
|
|
81
81
|
|
|
82
|
-
# ---------------------------------------------------------------------
|
|
83
|
-
# Help
|
|
84
|
-
# ---------------------------------------------------------------------
|
|
85
|
-
|
|
86
|
-
#
|
|
87
|
-
# Get help for this object type.
|
|
88
|
-
#
|
|
89
|
-
def self.help
|
|
90
|
-
return <<~TEXT
|
|
91
|
-
MARKDOWN OBJECT TYPE
|
|
92
|
-
NAME: markdown
|
|
93
|
-
SHORTCUT: md
|
|
94
|
-
|
|
95
|
-
DESCRIPTION
|
|
96
|
-
Markdown data in a text string.
|
|
97
|
-
|
|
98
|
-
CHILDREN
|
|
99
|
-
None
|
|
100
|
-
|
|
101
|
-
MESSAGES
|
|
102
|
-
show - Show the markdown data in the terminal.
|
|
103
|
-
page - Show the markdown data in the terminal, paginated.
|
|
104
|
-
TEXT
|
|
105
|
-
end
|
|
106
|
-
|
|
107
82
|
end
|
|
108
83
|
end
|
|
109
84
|
end
|