toys-core 0.14.6 → 0.14.7

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: 4a49ffadd96ca26cf194b2c779f91704490fe6f345e5eb306638f61215e15920
4
- data.tar.gz: 79bfe7f58285f0881a16383ffb0ba5f6fcad79b6001e4efd2effea178d1cedd7
3
+ metadata.gz: af0d0ca4cb5ad8e29460fbb43a4a2d1466375c5346a4e5ea311075650945b83b
4
+ data.tar.gz: a2ee5cff31d49d7c028add28d8c64520e2dba5633d4cc01f8b97c5b26b2667d3
5
5
  SHA512:
6
- metadata.gz: d3d8bc7d78af759121c749b06454b585404c2093342a7476655e8ff3ac1f5e7d52fc729402e5669b42e75820babdd7f997f36a53d462276f2c26da5eff83fd5c
7
- data.tar.gz: f04c5b0fdcbeb344f6733611bf134230586fc35a3fe73ffddeaba4aa602c1ff86726b2f1cd832e2a00dfbded1b30a59eaa5851c75df06e908b126682da627a81
6
+ metadata.gz: 4fdc394813c50de79636b0146f9c163de53479212555d5a34e0b7138fe5d385b08c531419677f1e8bbf3174b01b4c23e9413eaa826e0528173e207ef4babb304
7
+ data.tar.gz: 6d31d318b0a910c61a61ef1eccf4ca0086aaa67f6d8ed085096cd18b1f1a483fa0dcf9e9386d7260ec5dd94b27e1af55ffaa816a22c345ec99d7cb4c6598ef9c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release History
2
2
 
3
+ ### v0.14.7 / 2023-07-19
4
+
5
+ * FIXED: Fixed an exception when passing a non-string to puts in the terminal mixin
6
+
3
7
  ### v0.14.6 / 2023-06-29
4
8
 
5
9
  * FIXED: Fixed a GitCache exception when loading a repository containing a broken symlink
data/lib/toys/core.rb CHANGED
@@ -9,7 +9,7 @@ module Toys
9
9
  # Current version of Toys core.
10
10
  # @return [String]
11
11
  #
12
- VERSION = "0.14.6"
12
+ VERSION = "0.14.7"
13
13
  end
14
14
 
15
15
  ##
@@ -104,7 +104,7 @@ module Toys
104
104
  # @return [String] String with styles removed
105
105
  #
106
106
  def self.remove_style_escapes(str)
107
- str.gsub(/\e\[\d+(;\d+)*m/, "")
107
+ str.to_s.gsub(/\e\[\d+(;\d+)*m/, "")
108
108
  end
109
109
 
110
110
  ##
@@ -158,7 +158,7 @@ module Toys
158
158
  def write(str = "", *styles)
159
159
  @output_mutex.synchronize do
160
160
  begin
161
- output&.write(apply_styles(str, *styles))
161
+ output&.write(apply_styles(str.to_s, *styles))
162
162
  output&.flush
163
163
  rescue ::IOError
164
164
  nil
@@ -200,7 +200,7 @@ module Toys
200
200
  # @return [self]
201
201
  #
202
202
  def puts(str = "", *styles)
203
- str = "#{str}\n" unless str.end_with?("\n")
203
+ str = "#{str}\n" unless str.to_s.end_with?("\n")
204
204
  write(str, *styles)
205
205
  end
206
206
  alias say puts
@@ -240,7 +240,7 @@ module Toys
240
240
  trailing_text = default.nil? ? nil : "[#{default}]"
241
241
  end
242
242
  if trailing_text
243
- ptext, pspaces, = prompt.partition(/\s+$/)
243
+ ptext, pspaces, = prompt.to_s.partition(/\s+$/)
244
244
  prompt = "#{ptext} #{trailing_text}#{pspaces}"
245
245
  end
246
246
  write(prompt, *styles)
@@ -307,13 +307,13 @@ module Toys
307
307
  return nil unless block_given?
308
308
  frame_length ||= DEFAULT_SPINNER_FRAME_LENGTH
309
309
  frames ||= DEFAULT_SPINNER_FRAMES
310
- write(leading_text) unless leading_text.empty?
310
+ write(leading_text) unless leading_text.to_s.empty?
311
311
  spin = SpinDriver.new(self, frames, Array(style), frame_length)
312
312
  begin
313
313
  yield
314
314
  ensure
315
315
  spin.stop
316
- write(final_text) unless final_text.empty?
316
+ write(final_text) unless final_text.to_s.empty?
317
317
  end
318
318
  end
319
319
 
@@ -377,7 +377,7 @@ module Toys
377
377
  def apply_styles(str, *styles)
378
378
  if styled
379
379
  prefix = escape_styles(*styles)
380
- suffix = prefix.empty? || str.end_with?(CLEAR_CODE) ? "" : CLEAR_CODE
380
+ suffix = prefix.empty? || str.to_s.end_with?(CLEAR_CODE) ? "" : CLEAR_CODE
381
381
  "#{prefix}#{str}#{suffix}"
382
382
  else
383
383
  Terminal.remove_style_escapes(str)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toys-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.6
4
+ version: 0.14.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Azuma
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-29 00:00:00.000000000 Z
11
+ date: 2023-07-19 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Toys-Core is the command line tool framework underlying Toys. It can
14
14
  be used to create command line executables using the Toys DSL and classes.
@@ -78,10 +78,10 @@ homepage: https://github.com/dazuma/toys
78
78
  licenses:
79
79
  - MIT
80
80
  metadata:
81
- changelog_uri: https://dazuma.github.io/toys/gems/toys-core/v0.14.6/file.CHANGELOG.html
81
+ changelog_uri: https://dazuma.github.io/toys/gems/toys-core/v0.14.7/file.CHANGELOG.html
82
82
  source_code_uri: https://github.com/dazuma/toys/tree/main/toys-core
83
83
  bug_tracker_uri: https://github.com/dazuma/toys/issues
84
- documentation_uri: https://dazuma.github.io/toys/gems/toys-core/v0.14.6
84
+ documentation_uri: https://dazuma.github.io/toys/gems/toys-core/v0.14.7
85
85
  post_install_message:
86
86
  rdoc_options: []
87
87
  require_paths: