ex_aequo 0.3.1 → 0.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: a7fb2a7524243ffd811e5ac6fcac44fd7dd1faf9cf7c40076bb7a6b9ef7ec637
4
- data.tar.gz: 47e1979ee9775903c6d51e740e21f08a2ae0669dd52d5a9ce4ee6e4e211bbe23
3
+ metadata.gz: f4a817ac948f3e2a0e74511d86af5d6e6c92a542268b4de485a82d1f0c24f49b
4
+ data.tar.gz: 9e51fb5f4a3c4e67fc96f8732872a5ace0aab70e59ef5ef27374bdd92e416e75
5
5
  SHA512:
6
- metadata.gz: 9766fbf16ff0cfee7f6876b133ce4c073c5287248d7f8f535cfdb7abe6cbf37b9db096cc434dd52cf9c0dd9be3a5943297a8b46d23ab37f38da6b65887ff56cc
7
- data.tar.gz: 2c224ffaf81eca779f303842472c3dc19b14d9954da5af5d95456a1d4a1ba343e0a14ef35a07883adb7f094079f5ee10b8a2fcaf19aaa6118cf3b96e5d4668a7
6
+ metadata.gz: 223134a69151a7c4a17fe45a884b00d40e22452065f87607c276d937faac4cccab12412908273cda6c879bc2966982f89ed6a0e3232c230bc9010324d09caa99
7
+ data.tar.gz: 47dd7b6ec3d4ea915f7d2c13a59078914c9a3702d5e66f2159b6501931864dda6d647c4aa5344f363bed77f00691efd31c5c1cdb6a06f7c4b4fdeabb7a50350f
@@ -1,13 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'colorizer'
4
- require 'forwardable'
5
4
  module ExAequo
6
5
  module Colorize
7
6
  extend Forwardable
8
7
 
9
8
  def_delegators Colorizer, :colorize, :colorize_file, :colorize_lines
10
-
11
9
 
12
10
  end
13
11
  end
@@ -5,6 +5,8 @@ require_relative './colorize/color_definitions'
5
5
  module ExAequo
6
6
  module Colorizer extend self
7
7
 
8
+ class SyntaxError < RuntimeError; end
9
+
8
10
  def colorize(line, reset: false)
9
11
  line = line.chomp
10
12
  no_color = ENV.fetch('NO_COLOR', false)
@@ -16,6 +18,15 @@ module ExAequo
16
18
  end
17
19
  end
18
20
 
21
+ def colorize!(line, reset: false)
22
+ case colorize(line, reset:)
23
+ in {ok: true, result:}
24
+ result
25
+ in {error:}
26
+ raise SyntaxError, error
27
+ end
28
+ end
29
+
19
30
  def colorize_file(file, reset: false)
20
31
  file = File.open(file, 'r') if String === file
21
32
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module ExAequo
4
4
  module Version
5
- VERSION = '0.3.1'
5
+ VERSION = '0.3.2'
6
6
  end
7
7
  end
8
8
  # SPDX-License-Identifier: Apache-2.0
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ex_aequo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Dober
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-11-29 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: forwarder3
@@ -62,14 +61,11 @@ files:
62
61
  - lib/ex_aequo/my_struct.rb
63
62
  - lib/ex_aequo/my_struct/class_methods.rb
64
63
  - lib/ex_aequo/tools/text_scanner.rb
65
- - lib/ex_aequo/ui.rb
66
- - lib/ex_aequo/ui/prompts.rb
67
64
  - lib/ex_aequo/version.rb
68
65
  homepage: https://gitlab.com/robert_dober/rb_ex_aequo
69
66
  licenses:
70
67
  - Apache-2.0
71
68
  metadata: {}
72
- post_install_message:
73
69
  rdoc_options: []
74
70
  require_paths:
75
71
  - lib
@@ -77,15 +73,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
77
73
  requirements:
78
74
  - - ">="
79
75
  - !ruby/object:Gem::Version
80
- version: 3.3.0
76
+ version: 3.4.1
81
77
  required_rubygems_version: !ruby/object:Gem::Requirement
82
78
  requirements:
83
79
  - - ">="
84
80
  - !ruby/object:Gem::Version
85
81
  version: '0'
86
82
  requirements: []
87
- rubygems_version: 3.5.16
88
- signing_key:
83
+ rubygems_version: 3.6.7
89
84
  specification_version: 4
90
85
  summary: Some tools
91
86
  test_files: []
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'io/console'
4
- require_relative '../colorize'
5
- module ExAequo
6
- module Ui
7
- module Prompts extend self
8
- extend Colorize
9
-
10
- def prompt_ch(text: nil, chars:)
11
- loop do
12
- $stdout.print(text || _mk_text(chars))
13
- $stdout.flush
14
- case _member($stdin.getch, chars)
15
- in {ok: true, ch:}
16
- return ch
17
- in {ok: false, ch:}
18
- $stdout.puts(colorize("<red>ERROR$: Illegal char entered -> #{ch.inspect}"))
19
- end
20
- end
21
- end
22
-
23
- private
24
- def _keys_or_members(chars)
25
- case chars
26
- when Hash
27
- chars.keys
28
- else
29
- chars.to_a
30
- end
31
- .join(', ')
32
- end
33
-
34
- def _member(ch, chars)
35
- if chars.member?(ch)
36
- {ok: true, ch: ch}
37
- else
38
- {ok: false, ch: ch}
39
- end
40
- end
41
-
42
- def _mk_text(chars)
43
- "Please enter one of the following chars #{_keys_or_members(chars)} > "
44
- end
45
- end
46
- end
47
- end
48
- # SPDX-License-Identifier: AGPL-3.0-or-later
data/lib/ex_aequo/ui.rb DELETED
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'ui/prompts'
4
- module ExAequo
5
- module Ui
6
- extend Forwardable
7
- def_delegators Prompts, :prompt_ch
8
- end
9
- end
10
- # SPDX-License-Identifier: AGPL-3.0-or-later