gloo 5.3.9 → 6.0
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/lib/VERSION +1 -1
- data/lib/VERSION_NOTES +10 -0
- data/lib/gloo/app/engine.rb +57 -13
- data/lib/gloo/app/engine_context.rb +1 -1
- data/lib/gloo/app/info.rb +0 -1
- data/lib/gloo/app/log.rb +1 -1
- data/lib/gloo/app/platform.rb +2 -2
- data/lib/gloo/app/prompt.rb +1 -0
- data/lib/gloo/app/settings.rb +0 -5
- data/lib/gloo/app/table.rb +1 -1
- data/lib/gloo/convert/nilclass_to_datetime.rb +1 -1
- data/lib/gloo/convert/nilclass_to_integer.rb +1 -3
- data/lib/gloo/convert/nilclass_to_string.rb +0 -2
- data/lib/gloo/convert/nilclass_to_time.rb +1 -1
- data/lib/gloo/convert/string_to_decimal.rb +1 -1
- data/lib/gloo/core/dictionary.rb +16 -22
- data/lib/gloo/core/event_manager.rb +19 -0
- data/lib/gloo/core/here.rb +2 -1
- data/lib/gloo/core/literal.rb +1 -1
- data/lib/gloo/core/obj.rb +5 -1
- data/lib/gloo/core/obj_finder.rb +0 -1
- data/lib/gloo/core/pn.rb +4 -2
- data/lib/gloo/exec/exec_env.rb +0 -2
- data/lib/gloo/exec/runner.rb +7 -2
- data/lib/gloo/expr/l_decimal.rb +1 -1
- data/lib/gloo/expr/l_string.rb +1 -1
- data/lib/gloo/expr/op_eq.rb +3 -1
- data/lib/gloo/expr/op_gt.rb +3 -0
- data/lib/gloo/expr/op_gteq.rb +3 -0
- data/lib/gloo/expr/op_ineq.rb +3 -0
- data/lib/gloo/expr/op_lt.rb +3 -0
- data/lib/gloo/expr/op_lteq.rb +3 -0
- data/lib/gloo/objs/basic/alias.rb +1 -1
- data/lib/gloo/objs/basic/boolean.rb +1 -1
- data/lib/gloo/objs/basic/decimal.rb +22 -1
- data/lib/gloo/objs/basic/integer.rb +19 -1
- data/lib/gloo/objs/basic/string_generator.rb +4 -7
- data/lib/gloo/objs/basic/untyped.rb +1 -1
- data/lib/gloo/objs/ctrl/each_child.rb +0 -2
- data/lib/gloo/objs/ctrl/function.rb +2 -5
- data/lib/gloo/objs/ctrl/repeat.rb +1 -2
- data/lib/gloo/objs/dt/datetime.rb +19 -8
- data/lib/gloo/objs/dt/dt_tools.rb +101 -21
- data/lib/gloo/objs/dt/time.rb +17 -1
- data/lib/gloo/objs/str_utils/cipher.rb +8 -11
- data/lib/gloo/objs/str_utils/outline.rb +0 -2
- data/lib/gloo/objs/system/erb.rb +5 -6
- data/lib/gloo/objs/system/file_handle.rb +0 -1
- data/lib/gloo/objs/system/system.rb +5 -11
- data/lib/gloo/objs/web/http_get.rb +6 -12
- data/lib/gloo/objs/web/http_post.rb +5 -31
- data/lib/gloo/objs/web/json.rb +1 -1
- data/lib/gloo/objs/web/uri.rb +2 -2
- data/lib/gloo/persist/disc_mech.rb +2 -2
- data/lib/gloo/persist/file_loader.rb +1 -1
- data/lib/gloo/persist/file_saver.rb +2 -2
- data/lib/gloo/persist/persist_man.rb +12 -8
- data/lib/gloo/plugin/callback.rb +1 -1
- data/lib/gloo/plugin/ext_manager.rb +1 -1
- data/lib/gloo/plugin/lib_manager.rb +1 -1
- data/lib/gloo/verbs/execute.rb +0 -6
- data/lib/gloo/verbs/files.rb +0 -1
- data/lib/gloo/verbs/help.rb +0 -16
- data/lib/gloo/verbs/list.rb +1 -1
- data/lib/gloo/verbs/load.rb +1 -1
- data/lib/gloo/verbs/show.rb +1 -1
- data/lib/gloo/verbs/throw.rb +55 -0
- data/test.gloo/ctrl/each.test.gloo +39 -0
- data/test.gloo/dt/date.test.gloo +1 -1
- data/test.gloo/dt/datetime.test.gloo +61 -0
- data/test.gloo/dt/time.test.gloo +14 -1
- data/test.gloo/lang/dt_comparisons.test.gloo +124 -0
- data/test.gloo/lang/exceptions.test.gloo +63 -0
- data/test.gloo/objs/alias.test.gloo +24 -0
- data/test.gloo/objs/decimal.test.gloo +38 -0
- data/test.gloo/objs/erb.test.gloo +35 -0
- data/test.gloo/objs/int.test.gloo +14 -0
- data/test.gloo/objs/string.test.gloo +44 -0
- data/test.gloo/verbs/create.test.gloo +14 -0
- data/test.gloo/verbs/invoke.test.gloo +20 -0
- data/test.gloo/verbs/unless.test.gloo +22 -0
- metadata +14 -4
- data/lib/gloo/utils/format.rb +0 -21
- data/lib/gloo/utils/words.rb +0 -19
|
@@ -54,3 +54,17 @@ tests [can] :
|
|
|
54
54
|
tell ^^.b to randomize (10000)
|
|
55
55
|
eval ^^.a = ^^.b
|
|
56
56
|
refute "expected them to not be equal"
|
|
57
|
+
|
|
58
|
+
format_int [test] :
|
|
59
|
+
description [string] : Format an integer
|
|
60
|
+
f [int] :
|
|
61
|
+
on_test [script] :
|
|
62
|
+
put 1234567 into ^.f
|
|
63
|
+
tell ^.f to format
|
|
64
|
+
eval it = '1,234,567'
|
|
65
|
+
assert "expected formatted integer to match"
|
|
66
|
+
|
|
67
|
+
put 42 into ^.f
|
|
68
|
+
tell ^.f to format ('%05d')
|
|
69
|
+
eval it = '00042'
|
|
70
|
+
assert "expected formatted integer to match"
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#
|
|
2
|
+
# String tests
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
tests [can] :
|
|
6
|
+
objs [can] :
|
|
7
|
+
string [can] :
|
|
8
|
+
|
|
9
|
+
s [string] :
|
|
10
|
+
|
|
11
|
+
up_down [test] :
|
|
12
|
+
description [string] : Convert string case
|
|
13
|
+
on_test [script] :
|
|
14
|
+
put 'hello' into ^^.s
|
|
15
|
+
tell ^^.s to up
|
|
16
|
+
eval ^^.s = 'HELLO'
|
|
17
|
+
assert "expected string to be uppercase"
|
|
18
|
+
tell ^^.s to down
|
|
19
|
+
eval ^^.s = 'hello'
|
|
20
|
+
assert "expected string to be lowercase"
|
|
21
|
+
|
|
22
|
+
trim [test] :
|
|
23
|
+
description [string] : Trim whitespace from a string
|
|
24
|
+
on_test [script] :
|
|
25
|
+
put ' hello ' into ^^.s
|
|
26
|
+
tell ^^.s to trim
|
|
27
|
+
eval it = 'hello'
|
|
28
|
+
assert "expected trimmed string to equal 'hello'"
|
|
29
|
+
|
|
30
|
+
sub [test] :
|
|
31
|
+
description [string] : Substitute in a string
|
|
32
|
+
on_test [script] :
|
|
33
|
+
put 'hello world' into ^^.s
|
|
34
|
+
tell ^^.s to sub ('world' 'gloo')
|
|
35
|
+
eval it = 'hello gloo'
|
|
36
|
+
assert "expected substituted string to equal 'hello gloo'"
|
|
37
|
+
|
|
38
|
+
count_chars [test] :
|
|
39
|
+
description [string] : Count the characters in a string
|
|
40
|
+
on_test [script] :
|
|
41
|
+
put 'hello' into ^^.s
|
|
42
|
+
tell ^^.s to count_chars
|
|
43
|
+
eval it = 5
|
|
44
|
+
assert "expected 5 characters"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Create verb tests
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
tests [can] :
|
|
6
|
+
verbs [can] :
|
|
7
|
+
create [can] :
|
|
8
|
+
|
|
9
|
+
create_str [test] :
|
|
10
|
+
description [string] : Create sets it to the initial value.
|
|
11
|
+
on_test [script] :
|
|
12
|
+
create cx as string : 'hello'
|
|
13
|
+
eval it = 'hello'
|
|
14
|
+
assert "expected it to equal the created value"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Invoke verb tests
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
tests [can] :
|
|
6
|
+
verbs [can] :
|
|
7
|
+
invoke [can] :
|
|
8
|
+
|
|
9
|
+
f [ƒ] :
|
|
10
|
+
params [can] :
|
|
11
|
+
on_invoke [script] :
|
|
12
|
+
put 42 into ^.result
|
|
13
|
+
result [int] :
|
|
14
|
+
|
|
15
|
+
invoke_test [test] :
|
|
16
|
+
description [string] : Invoke a function and check the result.
|
|
17
|
+
on_test [script] :
|
|
18
|
+
invoke tests.verbs.invoke.f
|
|
19
|
+
eval it = 42
|
|
20
|
+
assert "expected it to be 42"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Unless verb tests
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
tests [can] :
|
|
6
|
+
verbs [can] :
|
|
7
|
+
unless [can] :
|
|
8
|
+
|
|
9
|
+
b [bool] : false
|
|
10
|
+
|
|
11
|
+
unless_false [test] :
|
|
12
|
+
description [string] : Unless false, do block runs.
|
|
13
|
+
on_test [script] :
|
|
14
|
+
unless ^^.b do eval true
|
|
15
|
+
assert "expected do block to run when condition is false"
|
|
16
|
+
|
|
17
|
+
unless_true [test] :
|
|
18
|
+
description [string] : Unless true, do block is skipped.
|
|
19
|
+
on_test [script] :
|
|
20
|
+
eval false
|
|
21
|
+
unless true do eval true
|
|
22
|
+
refute "expected do block to be skipped when condition is true"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gloo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: '6.0'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eric Crane
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-07-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -385,8 +385,6 @@ files:
|
|
|
385
385
|
- lib/gloo/plugin/callback.rb
|
|
386
386
|
- lib/gloo/plugin/ext_manager.rb
|
|
387
387
|
- lib/gloo/plugin/lib_manager.rb
|
|
388
|
-
- lib/gloo/utils/format.rb
|
|
389
|
-
- lib/gloo/utils/words.rb
|
|
390
388
|
- lib/gloo/verbs/break.rb
|
|
391
389
|
- lib/gloo/verbs/check.rb
|
|
392
390
|
- lib/gloo/verbs/cls.rb
|
|
@@ -411,39 +409,51 @@ files:
|
|
|
411
409
|
- lib/gloo/verbs/save.rb
|
|
412
410
|
- lib/gloo/verbs/show.rb
|
|
413
411
|
- lib/gloo/verbs/tell.rb
|
|
412
|
+
- lib/gloo/verbs/throw.rb
|
|
414
413
|
- lib/gloo/verbs/unless.rb
|
|
415
414
|
- lib/gloo/verbs/unload.rb
|
|
416
415
|
- lib/gloo/verbs/version.rb
|
|
417
416
|
- lib/gloo/verbs/wait.rb
|
|
418
417
|
- lib/run.rb
|
|
419
418
|
- test.gloo/basic.test.gloo
|
|
419
|
+
- test.gloo/ctrl/each.test.gloo
|
|
420
420
|
- test.gloo/dt/date.test.gloo
|
|
421
|
+
- test.gloo/dt/datetime.test.gloo
|
|
421
422
|
- test.gloo/dt/time.test.gloo
|
|
423
|
+
- test.gloo/lang/dt_comparisons.test.gloo
|
|
424
|
+
- test.gloo/lang/exceptions.test.gloo
|
|
422
425
|
- test.gloo/lang/gloo_sys.test.gloo
|
|
423
426
|
- test.gloo/lang/ops.test.gloo
|
|
424
427
|
- test.gloo/math/add.test.gloo
|
|
425
428
|
- test.gloo/math/div.test.gloo
|
|
426
429
|
- test.gloo/math/mult.test.gloo
|
|
427
430
|
- test.gloo/math/sub.test.gloo
|
|
431
|
+
- test.gloo/objs/alias.test.gloo
|
|
428
432
|
- test.gloo/objs/bool.test.gloo
|
|
429
433
|
- test.gloo/objs/can.test.gloo
|
|
434
|
+
- test.gloo/objs/decimal.test.gloo
|
|
435
|
+
- test.gloo/objs/erb.test.gloo
|
|
430
436
|
- test.gloo/objs/int.test.gloo
|
|
431
437
|
- test.gloo/objs/obj.test.gloo
|
|
432
438
|
- test.gloo/objs/script.test.gloo
|
|
439
|
+
- test.gloo/objs/string.test.gloo
|
|
433
440
|
- test.gloo/objs/text.test.gloo
|
|
434
441
|
- test.gloo/objs/untyped.test.gloo
|
|
435
442
|
- test.gloo/string/str.test.gloo
|
|
436
443
|
- test.gloo/string/str_gen.test.gloo
|
|
437
444
|
- test.gloo/verbs/break.test.gloo
|
|
438
445
|
- test.gloo/verbs/check.test.gloo
|
|
446
|
+
- test.gloo/verbs/create.test.gloo
|
|
439
447
|
- test.gloo/verbs/eval.test.gloo
|
|
440
448
|
- test.gloo/verbs/exists.test.gloo
|
|
441
449
|
- test.gloo/verbs/if.test.gloo
|
|
450
|
+
- test.gloo/verbs/invoke.test.gloo
|
|
442
451
|
- test.gloo/verbs/log.test.gloo
|
|
443
452
|
- test.gloo/verbs/move.test.gloo
|
|
444
453
|
- test.gloo/verbs/put.test.gloo
|
|
445
454
|
- test.gloo/verbs/run.test.gloo
|
|
446
455
|
- test.gloo/verbs/tell.test.gloo
|
|
456
|
+
- test.gloo/verbs/unless.test.gloo
|
|
447
457
|
homepage: http://github.com/ecrane/gloo
|
|
448
458
|
licenses:
|
|
449
459
|
- MIT
|
data/lib/gloo/utils/format.rb
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Author:: Eric Crane (mailto:eric.crane@mac.com)
|
|
2
|
-
# Copyright:: Copyright (c) 2020 Eric Crane. All rights reserved.
|
|
3
|
-
#
|
|
4
|
-
# Formatting utilities
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
module Gloo
|
|
8
|
-
module Utils
|
|
9
|
-
class Format
|
|
10
|
-
|
|
11
|
-
#
|
|
12
|
-
# Format number, adding comma separators.
|
|
13
|
-
# Ex: 1000 -> 1,000
|
|
14
|
-
#
|
|
15
|
-
def self.number( num )
|
|
16
|
-
return num.to_s.reverse.scan( /.{1,3}/ ).join( ',' ).reverse
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
data/lib/gloo/utils/words.rb
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Author:: Eric Crane (mailto:eric.crane@mac.com)
|
|
2
|
-
# Copyright:: Copyright (c) 2019 Eric Crane. All rights reserved.
|
|
3
|
-
#
|
|
4
|
-
# Utilities related to words (strings).
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
require 'active_support/inflector'
|
|
8
|
-
|
|
9
|
-
module Gloo
|
|
10
|
-
module Utils
|
|
11
|
-
class Words
|
|
12
|
-
|
|
13
|
-
def self.pluralize( word )
|
|
14
|
-
return word.pluralize
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|