gloo 5.3.9 → 6.0.1
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/gloo.gemspec +2 -2
- data/lib/VERSION +1 -1
- data/lib/VERSION_NOTES +14 -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 +20 -16
- data/lib/gloo/utils/format.rb +0 -21
- data/lib/gloo/utils/words.rb +0 -19
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#
|
|
2
|
+
# ERB tests
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
tests [can] :
|
|
6
|
+
objs [can] :
|
|
7
|
+
erb [can] :
|
|
8
|
+
|
|
9
|
+
greeting [string] : <%= name %>!!
|
|
10
|
+
|
|
11
|
+
basic [erb] :
|
|
12
|
+
template [text] : <%= name %>
|
|
13
|
+
params [can] :
|
|
14
|
+
name [string] : world
|
|
15
|
+
result [text] :
|
|
16
|
+
|
|
17
|
+
aliased_template [erb] :
|
|
18
|
+
template [alias] : tests.objs.erb.greeting
|
|
19
|
+
params [can] :
|
|
20
|
+
name [string] : gloo
|
|
21
|
+
result [text] :
|
|
22
|
+
|
|
23
|
+
run_basic [test] :
|
|
24
|
+
description [string] : Render a template with a param
|
|
25
|
+
on_test [script] :
|
|
26
|
+
tell ^^.basic to run
|
|
27
|
+
eval ^^.basic.result = 'world'
|
|
28
|
+
assert "expected template to render with the param value"
|
|
29
|
+
|
|
30
|
+
run_with_aliased_template [test] :
|
|
31
|
+
description [string] : Render a template whose 'template' child is an alias to another object
|
|
32
|
+
on_test [script] :
|
|
33
|
+
tell ^^.aliased_template to run
|
|
34
|
+
eval ^^.aliased_template.result = 'gloo!!'
|
|
35
|
+
assert "expected alias to be resolved before rendering the template"
|
|
@@ -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.1
|
|
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-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -68,36 +68,30 @@ dependencies:
|
|
|
68
68
|
name: concurrent-ruby
|
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
|
70
70
|
requirements:
|
|
71
|
-
- -
|
|
71
|
+
- - "~>"
|
|
72
72
|
- !ruby/object:Gem::Version
|
|
73
|
-
version: 1.3.
|
|
73
|
+
version: 1.3.7
|
|
74
74
|
type: :development
|
|
75
75
|
prerelease: false
|
|
76
76
|
version_requirements: !ruby/object:Gem::Requirement
|
|
77
77
|
requirements:
|
|
78
|
-
- -
|
|
78
|
+
- - "~>"
|
|
79
79
|
- !ruby/object:Gem::Version
|
|
80
|
-
version: 1.3.
|
|
80
|
+
version: 1.3.7
|
|
81
81
|
- !ruby/object:Gem::Dependency
|
|
82
82
|
name: activesupport
|
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
|
84
84
|
requirements:
|
|
85
85
|
- - "~>"
|
|
86
86
|
- !ruby/object:Gem::Version
|
|
87
|
-
version:
|
|
88
|
-
- - ">="
|
|
89
|
-
- !ruby/object:Gem::Version
|
|
90
|
-
version: 6.1.5
|
|
87
|
+
version: 7.2.3.1
|
|
91
88
|
type: :runtime
|
|
92
89
|
prerelease: false
|
|
93
90
|
version_requirements: !ruby/object:Gem::Requirement
|
|
94
91
|
requirements:
|
|
95
92
|
- - "~>"
|
|
96
93
|
- !ruby/object:Gem::Version
|
|
97
|
-
version:
|
|
98
|
-
- - ">="
|
|
99
|
-
- !ruby/object:Gem::Version
|
|
100
|
-
version: 6.1.5
|
|
94
|
+
version: 7.2.3.1
|
|
101
95
|
- !ruby/object:Gem::Dependency
|
|
102
96
|
name: chronic
|
|
103
97
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -385,8 +379,6 @@ files:
|
|
|
385
379
|
- lib/gloo/plugin/callback.rb
|
|
386
380
|
- lib/gloo/plugin/ext_manager.rb
|
|
387
381
|
- lib/gloo/plugin/lib_manager.rb
|
|
388
|
-
- lib/gloo/utils/format.rb
|
|
389
|
-
- lib/gloo/utils/words.rb
|
|
390
382
|
- lib/gloo/verbs/break.rb
|
|
391
383
|
- lib/gloo/verbs/check.rb
|
|
392
384
|
- lib/gloo/verbs/cls.rb
|
|
@@ -411,39 +403,51 @@ files:
|
|
|
411
403
|
- lib/gloo/verbs/save.rb
|
|
412
404
|
- lib/gloo/verbs/show.rb
|
|
413
405
|
- lib/gloo/verbs/tell.rb
|
|
406
|
+
- lib/gloo/verbs/throw.rb
|
|
414
407
|
- lib/gloo/verbs/unless.rb
|
|
415
408
|
- lib/gloo/verbs/unload.rb
|
|
416
409
|
- lib/gloo/verbs/version.rb
|
|
417
410
|
- lib/gloo/verbs/wait.rb
|
|
418
411
|
- lib/run.rb
|
|
419
412
|
- test.gloo/basic.test.gloo
|
|
413
|
+
- test.gloo/ctrl/each.test.gloo
|
|
420
414
|
- test.gloo/dt/date.test.gloo
|
|
415
|
+
- test.gloo/dt/datetime.test.gloo
|
|
421
416
|
- test.gloo/dt/time.test.gloo
|
|
417
|
+
- test.gloo/lang/dt_comparisons.test.gloo
|
|
418
|
+
- test.gloo/lang/exceptions.test.gloo
|
|
422
419
|
- test.gloo/lang/gloo_sys.test.gloo
|
|
423
420
|
- test.gloo/lang/ops.test.gloo
|
|
424
421
|
- test.gloo/math/add.test.gloo
|
|
425
422
|
- test.gloo/math/div.test.gloo
|
|
426
423
|
- test.gloo/math/mult.test.gloo
|
|
427
424
|
- test.gloo/math/sub.test.gloo
|
|
425
|
+
- test.gloo/objs/alias.test.gloo
|
|
428
426
|
- test.gloo/objs/bool.test.gloo
|
|
429
427
|
- test.gloo/objs/can.test.gloo
|
|
428
|
+
- test.gloo/objs/decimal.test.gloo
|
|
429
|
+
- test.gloo/objs/erb.test.gloo
|
|
430
430
|
- test.gloo/objs/int.test.gloo
|
|
431
431
|
- test.gloo/objs/obj.test.gloo
|
|
432
432
|
- test.gloo/objs/script.test.gloo
|
|
433
|
+
- test.gloo/objs/string.test.gloo
|
|
433
434
|
- test.gloo/objs/text.test.gloo
|
|
434
435
|
- test.gloo/objs/untyped.test.gloo
|
|
435
436
|
- test.gloo/string/str.test.gloo
|
|
436
437
|
- test.gloo/string/str_gen.test.gloo
|
|
437
438
|
- test.gloo/verbs/break.test.gloo
|
|
438
439
|
- test.gloo/verbs/check.test.gloo
|
|
440
|
+
- test.gloo/verbs/create.test.gloo
|
|
439
441
|
- test.gloo/verbs/eval.test.gloo
|
|
440
442
|
- test.gloo/verbs/exists.test.gloo
|
|
441
443
|
- test.gloo/verbs/if.test.gloo
|
|
444
|
+
- test.gloo/verbs/invoke.test.gloo
|
|
442
445
|
- test.gloo/verbs/log.test.gloo
|
|
443
446
|
- test.gloo/verbs/move.test.gloo
|
|
444
447
|
- test.gloo/verbs/put.test.gloo
|
|
445
448
|
- test.gloo/verbs/run.test.gloo
|
|
446
449
|
- test.gloo/verbs/tell.test.gloo
|
|
450
|
+
- test.gloo/verbs/unless.test.gloo
|
|
447
451
|
homepage: http://github.com/ecrane/gloo
|
|
448
452
|
licenses:
|
|
449
453
|
- 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
|