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
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
SAVE VERB
|
|
2
|
+
NAME: save
|
|
3
|
+
SHORTCUT: >
|
|
4
|
+
|
|
5
|
+
DESCRIPTION
|
|
6
|
+
Save a previously loaded object to .gloo file. The path will be for the
|
|
7
|
+
root level object that was loaded earlier.
|
|
8
|
+
|
|
9
|
+
SYNTAX
|
|
10
|
+
save <path.to.object>
|
|
11
|
+
|
|
12
|
+
PARAMETERS
|
|
13
|
+
path.to.object - Name of the object file that is to be saved.
|
|
14
|
+
|
|
15
|
+
RESULT
|
|
16
|
+
The file is updated with the latest object state.
|
|
17
|
+
|
|
18
|
+
ERRORS
|
|
19
|
+
None
|
|
20
|
+
|
|
21
|
+
EXAMPLE
|
|
22
|
+
|
|
23
|
+
> save my_obj
|
|
24
|
+
|
|
25
|
+
SEE ALSO
|
|
26
|
+
load
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
SHOW VERB
|
|
2
|
+
NAME: show
|
|
3
|
+
SHORTCUT: =
|
|
4
|
+
|
|
5
|
+
DESCRIPTION
|
|
6
|
+
Show an object's value.
|
|
7
|
+
|
|
8
|
+
SYNTAX
|
|
9
|
+
show <path.to.object>
|
|
10
|
+
|
|
11
|
+
PARAMETERS
|
|
12
|
+
path.to.object - The object that we want to see.
|
|
13
|
+
|
|
14
|
+
RESULT
|
|
15
|
+
The object's value is shown.
|
|
16
|
+
<it> will contain the object's value.
|
|
17
|
+
|
|
18
|
+
ERRORS
|
|
19
|
+
None
|
|
20
|
+
|
|
21
|
+
EXAMPLE
|
|
22
|
+
|
|
23
|
+
> show "me"
|
|
24
|
+
> show "hello " "world"
|
|
25
|
+
> show 132 * 23
|
|
26
|
+
|
|
27
|
+
> create x : "boo"
|
|
28
|
+
> show x
|
|
29
|
+
|
|
30
|
+
SEE ALSO
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
TELL VERB
|
|
2
|
+
NAME: tell
|
|
3
|
+
SHORTCUT: ->
|
|
4
|
+
|
|
5
|
+
DESCRIPTION
|
|
6
|
+
Send a message to an object.
|
|
7
|
+
Ask the object to perform an action.
|
|
8
|
+
|
|
9
|
+
SYNTAX
|
|
10
|
+
tell <path.to.object> to <message>
|
|
11
|
+
|
|
12
|
+
PARAMETERS
|
|
13
|
+
path.to.object - The object that we want to see.
|
|
14
|
+
message - The message to send.
|
|
15
|
+
|
|
16
|
+
RESULT
|
|
17
|
+
The result depends on the message that is sent.
|
|
18
|
+
|
|
19
|
+
ERRORS
|
|
20
|
+
Missing message!
|
|
21
|
+
- No message was specified, or the 'to' keyword is missing.
|
|
22
|
+
|
|
23
|
+
Object was not found
|
|
24
|
+
- The target of the message was not found.
|
|
25
|
+
|
|
26
|
+
EXAMPLE
|
|
27
|
+
|
|
28
|
+
> tell an.obj to unload
|
|
29
|
+
> tell the.script to run
|
|
30
|
+
> tell my.str to up
|
|
31
|
+
> tell the.container to count
|
|
32
|
+
|
|
33
|
+
SEE ALSO
|
|
34
|
+
run
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
UNLESS VERB
|
|
2
|
+
NAME: unless
|
|
3
|
+
SHORTCUT: if!
|
|
4
|
+
|
|
5
|
+
DESCRIPTION
|
|
6
|
+
Unless an expression is true, do something.
|
|
7
|
+
This is the opposite of the if verb.
|
|
8
|
+
|
|
9
|
+
SYNTAX
|
|
10
|
+
unless <true> do <command>
|
|
11
|
+
|
|
12
|
+
PARAMETERS
|
|
13
|
+
true - Does the expression evaluate to true?
|
|
14
|
+
command - Execute command if the expression is not true.
|
|
15
|
+
|
|
16
|
+
RESULT
|
|
17
|
+
Unchanged if the expression is true.
|
|
18
|
+
If not true, then the result will be based on the command
|
|
19
|
+
specified after the 'do' keyword.
|
|
20
|
+
|
|
21
|
+
ERRORS
|
|
22
|
+
Missing Expression!
|
|
23
|
+
- No expression is provided as parameter to the verb.
|
|
24
|
+
|
|
25
|
+
Other errors depend on the command that is run.
|
|
26
|
+
|
|
27
|
+
EXAMPLE
|
|
28
|
+
|
|
29
|
+
unless [container] :
|
|
30
|
+
x [bool] : true
|
|
31
|
+
false_msg [string] : It is NOT true!
|
|
32
|
+
on_load [script] :
|
|
33
|
+
unless unless.x do show "first time: " + unless.false_msg
|
|
34
|
+
put false into unless.x
|
|
35
|
+
unless unless.x do show "second time: " + unless.false_msg
|
|
36
|
+
|
|
37
|
+
SEE ALSO
|
|
38
|
+
if
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
VERSION VERB
|
|
2
|
+
NAME: version
|
|
3
|
+
SHORTCUT: v
|
|
4
|
+
|
|
5
|
+
DESCRIPTION
|
|
6
|
+
Show the application version information.
|
|
7
|
+
|
|
8
|
+
This is the same as showing the version by running gloo
|
|
9
|
+
with the --version command line parameter.
|
|
10
|
+
|
|
11
|
+
SYNTAX
|
|
12
|
+
version
|
|
13
|
+
|
|
14
|
+
PARAMETERS
|
|
15
|
+
None
|
|
16
|
+
|
|
17
|
+
RESULT
|
|
18
|
+
None
|
|
19
|
+
|
|
20
|
+
ERRORS
|
|
21
|
+
None
|
|
22
|
+
|
|
23
|
+
EXAMPLE
|
|
24
|
+
|
|
25
|
+
> version
|
|
26
|
+
> v
|
|
27
|
+
|
|
28
|
+
This is the same as running this from the command line:
|
|
29
|
+
|
|
30
|
+
> gloo --version
|
|
31
|
+
|
|
32
|
+
SEE ALSO
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
WAIT VERB
|
|
2
|
+
NAME: wait
|
|
3
|
+
SHORTCUT: w
|
|
4
|
+
|
|
5
|
+
DESCRIPTION
|
|
6
|
+
Wait for the given number of seconds.
|
|
7
|
+
|
|
8
|
+
SYNTAX
|
|
9
|
+
wait <seconds>
|
|
10
|
+
|
|
11
|
+
PARAMETERS
|
|
12
|
+
seconds - The number of seconds.
|
|
13
|
+
If no value is given, we'll wait for 1 second.
|
|
14
|
+
|
|
15
|
+
RESULT
|
|
16
|
+
None
|
|
17
|
+
|
|
18
|
+
ERRORS
|
|
19
|
+
None
|
|
20
|
+
|
|
21
|
+
EXAMPLE
|
|
22
|
+
|
|
23
|
+
> wait
|
|
24
|
+
> wait 3
|
|
25
|
+
|
|
26
|
+
> create x as int : 10
|
|
27
|
+
> wait x
|
|
28
|
+
|
|
29
|
+
SEE ALSO
|
|
@@ -73,39 +73,6 @@ module Gloo
|
|
|
73
73
|
return ln.resolve
|
|
74
74
|
end
|
|
75
75
|
|
|
76
|
-
# ---------------------------------------------------------------------
|
|
77
|
-
# Help
|
|
78
|
-
# ---------------------------------------------------------------------
|
|
79
|
-
|
|
80
|
-
#
|
|
81
|
-
# Get help for this object type.
|
|
82
|
-
#
|
|
83
|
-
def self.help
|
|
84
|
-
return <<~TEXT
|
|
85
|
-
ALIAS OBJECT TYPE
|
|
86
|
-
NAME: alias
|
|
87
|
-
SHORTCUT: ln
|
|
88
|
-
|
|
89
|
-
DESCRIPTION
|
|
90
|
-
A pointer to another object.
|
|
91
|
-
Normal path-name references will refere to the aliased object.
|
|
92
|
-
To refer to the alias itself, add an * at the end of the path-name.
|
|
93
|
-
This is neeed, for example, to set the value of the alias.
|
|
94
|
-
The value of the alias is merely the path-name of the
|
|
95
|
-
referenced object.
|
|
96
|
-
|
|
97
|
-
CHILDREN
|
|
98
|
-
None
|
|
99
|
-
|
|
100
|
-
MESSAGES
|
|
101
|
-
The alias will reflect the mesages of the object to which
|
|
102
|
-
it points.
|
|
103
|
-
The alias itself can receive the following message:
|
|
104
|
-
resolve - Check to see if the object referenced exists.
|
|
105
|
-
Sets it to true or false.
|
|
106
|
-
TEXT
|
|
107
|
-
end
|
|
108
|
-
|
|
109
76
|
end
|
|
110
77
|
end
|
|
111
78
|
end
|
|
@@ -84,7 +84,9 @@ module Gloo
|
|
|
84
84
|
return super + %w[not true false]
|
|
85
85
|
end
|
|
86
86
|
|
|
87
|
+
#
|
|
87
88
|
# Set the value to the opposite of what it is.
|
|
89
|
+
#
|
|
88
90
|
def msg_not
|
|
89
91
|
v = !value
|
|
90
92
|
set_value v
|
|
@@ -92,47 +94,24 @@ module Gloo
|
|
|
92
94
|
return v
|
|
93
95
|
end
|
|
94
96
|
|
|
97
|
+
#
|
|
95
98
|
# Set the value to true.
|
|
99
|
+
#
|
|
96
100
|
def msg_true
|
|
97
101
|
set_value true
|
|
98
102
|
$engine.heap.it.set_to true
|
|
99
103
|
return true
|
|
100
104
|
end
|
|
101
105
|
|
|
106
|
+
#
|
|
102
107
|
# Set the value to false.
|
|
108
|
+
#
|
|
103
109
|
def msg_false
|
|
104
110
|
set_value false
|
|
105
111
|
$engine.heap.it.set_to false
|
|
106
112
|
return false
|
|
107
113
|
end
|
|
108
114
|
|
|
109
|
-
# ---------------------------------------------------------------------
|
|
110
|
-
# Help
|
|
111
|
-
# ---------------------------------------------------------------------
|
|
112
|
-
|
|
113
|
-
#
|
|
114
|
-
# Get help for this object type.
|
|
115
|
-
#
|
|
116
|
-
def self.help
|
|
117
|
-
return <<~TEXT
|
|
118
|
-
BOOLEAN OBJECT TYPE
|
|
119
|
-
NAME: boolean
|
|
120
|
-
SHORTCUT: bool
|
|
121
|
-
|
|
122
|
-
DESCRIPTION
|
|
123
|
-
A boolean value.
|
|
124
|
-
Value will be either true or false.
|
|
125
|
-
|
|
126
|
-
CHILDREN
|
|
127
|
-
None
|
|
128
|
-
|
|
129
|
-
MESSAGES
|
|
130
|
-
not - Set the boolean to the opposite of what it is now.
|
|
131
|
-
true - Set the boolean to true.
|
|
132
|
-
false - Set the boolean to false.
|
|
133
|
-
TEXT
|
|
134
|
-
end
|
|
135
|
-
|
|
136
115
|
end
|
|
137
116
|
end
|
|
138
117
|
end
|
|
@@ -71,39 +71,6 @@ module Gloo
|
|
|
71
71
|
puts "\n #{rendered}\n\n"
|
|
72
72
|
end
|
|
73
73
|
|
|
74
|
-
# ---------------------------------------------------------------------
|
|
75
|
-
# Help
|
|
76
|
-
# ---------------------------------------------------------------------
|
|
77
|
-
|
|
78
|
-
#
|
|
79
|
-
# Get help for this object type.
|
|
80
|
-
#
|
|
81
|
-
def self.help
|
|
82
|
-
return <<~TEXT
|
|
83
|
-
CONTAINER OBJECT TYPE
|
|
84
|
-
NAME: container
|
|
85
|
-
SHORTCUT: can
|
|
86
|
-
|
|
87
|
-
DESCRIPTION
|
|
88
|
-
A container of other objects.
|
|
89
|
-
A container is similar to a folder in a file system.
|
|
90
|
-
It can contain any number of objects including other containers.
|
|
91
|
-
The container structure provides direct access to any object
|
|
92
|
-
within it through the object.object.object path-name structure.
|
|
93
|
-
|
|
94
|
-
CHILDREN
|
|
95
|
-
None by default. But any container can have any number of
|
|
96
|
-
objects added to it.
|
|
97
|
-
|
|
98
|
-
MESSAGES
|
|
99
|
-
count - Count the number of children objects in the container.
|
|
100
|
-
The result is put in <it>.
|
|
101
|
-
delete_children - Delete all children objects from the container.
|
|
102
|
-
show_key_value_tbl - Show a table with key (name) and values
|
|
103
|
-
for all children in the container.
|
|
104
|
-
TEXT
|
|
105
|
-
end
|
|
106
|
-
|
|
107
74
|
end
|
|
108
75
|
end
|
|
109
76
|
end
|
|
@@ -35,7 +35,7 @@ module Gloo
|
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
unless new_value.is_a? Numeric
|
|
38
|
-
self.value = $engine.convert( new_value, 'Decimal', 0.0 )
|
|
38
|
+
self.value = $engine.converter.convert( new_value, 'Decimal', 0.0 )
|
|
39
39
|
return
|
|
40
40
|
end
|
|
41
41
|
|
|
@@ -59,38 +59,18 @@ module Gloo
|
|
|
59
59
|
# round to the precision given.
|
|
60
60
|
#
|
|
61
61
|
def msg_round
|
|
62
|
-
|
|
62
|
+
data = 0
|
|
63
|
+
if @params&.token_count&.positive?
|
|
64
|
+
expr = Gloo::Expr::Expression.new( @params.tokens )
|
|
65
|
+
data = expr.evaluate.to_i
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
i = self.value.round( data )
|
|
63
69
|
set_value i
|
|
64
70
|
$engine.heap.it.set_to i
|
|
65
71
|
return i
|
|
66
72
|
end
|
|
67
73
|
|
|
68
|
-
# ---------------------------------------------------------------------
|
|
69
|
-
# Help
|
|
70
|
-
# ---------------------------------------------------------------------
|
|
71
|
-
|
|
72
|
-
#
|
|
73
|
-
# Get help for this object type.
|
|
74
|
-
#
|
|
75
|
-
def self.help
|
|
76
|
-
return <<~TEXT
|
|
77
|
-
DECIMAL OBJECT TYPE
|
|
78
|
-
NAME: decimal
|
|
79
|
-
SHORTCUT: num
|
|
80
|
-
|
|
81
|
-
DESCRIPTION
|
|
82
|
-
A decimal (numeric) value.
|
|
83
|
-
|
|
84
|
-
CHILDREN
|
|
85
|
-
None
|
|
86
|
-
|
|
87
|
-
MESSAGES
|
|
88
|
-
round - Round to the nearest whole value.
|
|
89
|
-
If an optional parameter is included, round to the
|
|
90
|
-
precision specified.
|
|
91
|
-
TEXT
|
|
92
|
-
end
|
|
93
|
-
|
|
94
74
|
end
|
|
95
75
|
end
|
|
96
76
|
end
|
|
@@ -30,7 +30,7 @@ module Gloo
|
|
|
30
30
|
#
|
|
31
31
|
def set_value( new_value )
|
|
32
32
|
unless new_value.is_a? Numeric
|
|
33
|
-
self.value = $engine.convert( new_value, 'Integer', 0 )
|
|
33
|
+
self.value = $engine.converter.convert( new_value, 'Integer', 0 )
|
|
34
34
|
return
|
|
35
35
|
end
|
|
36
36
|
|
|
@@ -48,7 +48,9 @@ module Gloo
|
|
|
48
48
|
return super + %w[inc dec]
|
|
49
49
|
end
|
|
50
50
|
|
|
51
|
+
#
|
|
51
52
|
# Increment the integer
|
|
53
|
+
#
|
|
52
54
|
def msg_inc
|
|
53
55
|
i = value + 1
|
|
54
56
|
set_value i
|
|
@@ -56,7 +58,9 @@ module Gloo
|
|
|
56
58
|
return i
|
|
57
59
|
end
|
|
58
60
|
|
|
61
|
+
#
|
|
59
62
|
# Decrement the integer
|
|
63
|
+
#
|
|
60
64
|
def msg_dec
|
|
61
65
|
i = value - 1
|
|
62
66
|
set_value i
|
|
@@ -64,31 +68,6 @@ module Gloo
|
|
|
64
68
|
return i
|
|
65
69
|
end
|
|
66
70
|
|
|
67
|
-
# ---------------------------------------------------------------------
|
|
68
|
-
# Help
|
|
69
|
-
# ---------------------------------------------------------------------
|
|
70
|
-
|
|
71
|
-
#
|
|
72
|
-
# Get help for this object type.
|
|
73
|
-
#
|
|
74
|
-
def self.help
|
|
75
|
-
return <<~TEXT
|
|
76
|
-
INTEGER OBJECT TYPE
|
|
77
|
-
NAME: integer
|
|
78
|
-
SHORTCUT: int
|
|
79
|
-
|
|
80
|
-
DESCRIPTION
|
|
81
|
-
An integer (numeric) value.
|
|
82
|
-
|
|
83
|
-
CHILDREN
|
|
84
|
-
None
|
|
85
|
-
|
|
86
|
-
MESSAGES
|
|
87
|
-
inc - Increment the integer value by 1.
|
|
88
|
-
dec - Decrement the integer value by 1.
|
|
89
|
-
TEXT
|
|
90
|
-
end
|
|
91
|
-
|
|
92
71
|
end
|
|
93
72
|
end
|
|
94
73
|
end
|