gloo 5.3.0 → 5.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd23c0a7c35ccfa82d8d1a1bfefb58ea777b1ba17038e77dd4925c07bb3a8914
4
- data.tar.gz: 23c13541622b6c280af260c0ee66f1246748b9584b34886f27c4966fca8668e2
3
+ metadata.gz: 81669c8fe4c713d9745c72f46a72224a3e274d8e6f2035b29e3ae1368f7c1fdf
4
+ data.tar.gz: 494346cdc7fdee49a54861b2543a18abcc66e9031277276edc168859129c6fa4
5
5
  SHA512:
6
- metadata.gz: dd6ae78a5ea5fd546707782c98fc19e3f40c7e1593e495b372624373a6d9aede414cd0a33e3e34ec90a3fa3ee982a80877eb88236eac2f0f2c81a1e418678bcf
7
- data.tar.gz: 29692c9ed3e86ca90d3fbcc7b5cc4edc904f37b26125e92c0cff854ebe778dd6b22d814f41e79a41dc2e676db27cdc30c67da59f4bd152745f99eedda73b4b1f
6
+ metadata.gz: 90e11e209e9d0f19de22f852bf9c69e71fa29ef2e1a94647a632e7ec0bca992cca7f1394c60868db137fef5f13e36792d7a3ab79f883ebd4e2a3408a27b95854
7
+ data.tar.gz: 5b3ebeba05745d3dbc3963af55d1bfc7aee04d1307d3bbdcc96df6fd7f7e58c21d0e260ef84ad0b43e790742fe229c5c4a5aef43b87b27776ac9f2d7bc8cc67e
data/lib/VERSION CHANGED
@@ -1 +1 @@
1
- 5.3.0
1
+ 5.3.2
data/lib/VERSION_NOTES CHANGED
@@ -1,3 +1,11 @@
1
+ 5.3.2 - 2026.04.10
2
+ - Adds mkdir message for the file object.
3
+
4
+
5
+ 5.3.1 - 2026.04.09
6
+ - Adds require logger to fix run on WSL
7
+
8
+
1
9
  5.3.0 - 2026.03.10
2
10
  - Adds segement messages to date and time objects.
3
11
 
data/lib/dependencies.rb CHANGED
@@ -4,6 +4,7 @@
4
4
 
5
5
  # require 'gloo_lang/core/baseo'
6
6
  # require 'gloo_lang/core/obj'
7
+ require 'logger'
7
8
 
8
9
  path = File.dirname( File.absolute_path( __FILE__ ) )
9
10
 
@@ -49,7 +49,8 @@ module Gloo
49
49
  return unless folder
50
50
 
51
51
  unless Dir.exist?( folder )
52
- @engine.err "Folder does not exist: #{folder}"
52
+ # This is not an error because the path might include a wildcard.
53
+ @engine.log.info "Folder does not exist: #{folder}"
53
54
  end
54
55
 
55
56
  Dir.glob( "#{folder}#{wildcard}" ).each do |f|
@@ -58,7 +58,7 @@ module Gloo
58
58
  # Get a list of message names that this object receives.
59
59
  #
60
60
  def self.messages
61
- return super + %w[now add sub mm dd yy yyyy]
61
+ return super + %w[now add sub mm dd yy yyyy format]
62
62
  end
63
63
 
64
64
  #
@@ -133,6 +133,22 @@ module Gloo
133
133
  dt = Chronic.parse( self.value )
134
134
  @engine.heap.it.set_to dt.year.to_s[-2..-1]
135
135
  end
136
+
137
+ #
138
+ # Format the date.
139
+ #
140
+ # @param format [String] The format to use.
141
+ #
142
+ def msg_format
143
+ format = "%Y-%m-%d"
144
+ if @params&.token_count&.positive?
145
+ expr = Gloo::Expr::Expression.new( @engine, @params.tokens )
146
+ data = expr.evaluate
147
+ format = data
148
+ end
149
+ dt = Chronic.parse( self.value )
150
+ @engine.heap.it.set_to dt.strftime( format )
151
+ end
136
152
  end
137
153
  end
138
154
  end
@@ -38,7 +38,7 @@ module Gloo
38
38
  #
39
39
  def self.messages
40
40
  basic = %w[read write delete get_name get_ext get_parent get_sha256]
41
- checks = %w[exists? is_file? is_dir?]
41
+ checks = %w[exists? is_file? is_dir? mkdir]
42
42
  search = %w[find_match]
43
43
  show = %w[show page open]
44
44
  return super + basic + show + checks + search
@@ -135,6 +135,13 @@ module Gloo
135
135
  @engine.heap.it.set_to result
136
136
  end
137
137
 
138
+ #
139
+ # Create a directory.
140
+ #
141
+ def msg_mkdir
142
+ Dir.mkdir(value) unless Dir.exist?(value)
143
+ end
144
+
138
145
  #
139
146
  # Look for any file matching pattern.
140
147
  #
@@ -74,3 +74,15 @@ tests [can] :
74
74
  eval ^^.d = it
75
75
  refute "expected yyyy to not be the same as the date"
76
76
 
77
+ format [test] :
78
+ description [string] : Format a date
79
+ on_test [script] :
80
+ put '2025.10.15' into ^^.d
81
+ tell ^^.d to format
82
+ eval it = '2025-10-15'
83
+ assert "expected formatted date to match"
84
+
85
+ tell ^^.d to format ('%m/%d')
86
+ eval it = '10/15'
87
+ assert "expected formatted date to match"
88
+
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: 5.3.0
4
+ version: 5.3.2
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-03-10 00:00:00.000000000 Z
11
+ date: 2026-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler