infobar 0.6.2 → 0.7.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/.all_images.yml +19 -0
- data/.gitignore +1 -0
- data/.travis.yml +1 -0
- data/Rakefile +5 -3
- data/VERSION +1 -1
- data/infobar.gemspec +17 -28
- data/lib/infobar/display.rb +3 -3
- data/lib/infobar/message.rb +26 -26
- data/lib/infobar/version.rb +1 -1
- data/lib/infobar.rb +17 -4
- data/spec/config/infobar.yml +1 -1
- data/spec/infobar/message_spec.rb +2 -2
- data/spec/infobar_spec.rb +8 -8
- metadata +40 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6a7bc8f14e10abb294f335faee99adf2682408d07d2dce2d5d4fe2135f8d3975
|
|
4
|
+
data.tar.gz: af0865c4269e721b4a2cc111ce13a6f59d2f60a8515dfe7343ca62c7f73bfd4a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4cca3630a3872d27f82c73a25b00058ed66604c0a773038a8028892d200bf2f37225ef8a0a34f8b9766f34fe693b4ae931fd1cdf0cdfd713e643908615bd4c07
|
|
7
|
+
data.tar.gz: 6bbd9dc838c9eae82d145e8ce0ecc61a82c7a3df4eb836271b308f0a1ba575d77a4cde103c9e68c3e5341f3576e41b1cf32b85546344c00a4f67724625a6d109
|
data/.all_images.yml
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
dockerfile: |-
|
|
2
|
+
RUN apk add --no-cache build-base git
|
|
3
|
+
RUN gem update --system
|
|
4
|
+
RUN gem install gem_hadar bundler
|
|
5
|
+
script: &script |-
|
|
6
|
+
echo -e "\e[1m"
|
|
7
|
+
ruby -v
|
|
8
|
+
echo -e "\e[0m"
|
|
9
|
+
bundle
|
|
10
|
+
rake spec
|
|
11
|
+
|
|
12
|
+
fail_fast: true
|
|
13
|
+
|
|
14
|
+
images:
|
|
15
|
+
ruby:3.2-alpine: *script
|
|
16
|
+
ruby:3.1-alpine: *script
|
|
17
|
+
ruby:3.0-alpine: *script
|
|
18
|
+
ruby:2.7-alpine: *script
|
|
19
|
+
ruby:2.6-alpine: *script
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/Rakefile
CHANGED
|
@@ -6,24 +6,26 @@ GemHadar do
|
|
|
6
6
|
name 'infobar'
|
|
7
7
|
author 'Florian Frank'
|
|
8
8
|
email 'flori@ping.de'
|
|
9
|
-
homepage "http://
|
|
9
|
+
homepage "http://github.com/#{name}"
|
|
10
10
|
summary 'Gem to display information about computations.'
|
|
11
11
|
description 'This gem displays progress of computations and additional information to the terminal.'
|
|
12
12
|
module_type :class
|
|
13
13
|
test_dir 'spec'
|
|
14
14
|
ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', 'coverage', '.rvmrc',
|
|
15
|
-
'.AppleDouble', 'tags', '.byebug_history', '.DS_Store', 'errors.lst'
|
|
15
|
+
'.AppleDouble', 'tags', '.byebug_history', '.DS_Store', 'errors.lst', '.tool-versions'
|
|
16
16
|
readme 'README.md'
|
|
17
17
|
title "#{name.camelize}"
|
|
18
18
|
|
|
19
19
|
required_ruby_version '>= 2.3'
|
|
20
|
-
dependency 'tins', '~> 1.0', '>= 1.
|
|
20
|
+
dependency 'tins', '~> 1.0', '>= 1.28.0'
|
|
21
21
|
dependency 'term-ansicolor', '~> 1.4'
|
|
22
22
|
dependency 'complex_config', '~> 0.10'
|
|
23
23
|
dependency 'more_math'
|
|
24
24
|
development_dependency 'rake'
|
|
25
25
|
development_dependency 'simplecov'
|
|
26
26
|
development_dependency 'rspec'
|
|
27
|
+
development_dependency 'debug'
|
|
28
|
+
development_dependency 'all_images'
|
|
27
29
|
end
|
|
28
30
|
|
|
29
31
|
task :default => :spec
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.7.1
|
data/infobar.gemspec
CHANGED
|
@@ -1,46 +1,35 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
|
-
# stub: infobar 0.
|
|
2
|
+
# stub: infobar 0.7.1 ruby lib
|
|
3
3
|
|
|
4
4
|
Gem::Specification.new do |s|
|
|
5
5
|
s.name = "infobar".freeze
|
|
6
|
-
s.version = "0.
|
|
6
|
+
s.version = "0.7.1"
|
|
7
7
|
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
9
9
|
s.require_paths = ["lib".freeze]
|
|
10
10
|
s.authors = ["Florian Frank".freeze]
|
|
11
|
-
s.date = "
|
|
11
|
+
s.date = "2023-10-09"
|
|
12
12
|
s.description = "This gem displays progress of computations and additional information to the terminal.".freeze
|
|
13
13
|
s.email = "flori@ping.de".freeze
|
|
14
14
|
s.extra_rdoc_files = ["README.md".freeze, "lib/infobar.rb".freeze, "lib/infobar/counter.rb".freeze, "lib/infobar/display.rb".freeze, "lib/infobar/duration.rb".freeze, "lib/infobar/fancy_interface.rb".freeze, "lib/infobar/fifo.rb".freeze, "lib/infobar/frequency.rb".freeze, "lib/infobar/input_output.rb".freeze, "lib/infobar/message.rb".freeze, "lib/infobar/number.rb".freeze, "lib/infobar/rate.rb".freeze, "lib/infobar/spinner.rb".freeze, "lib/infobar/timer.rb".freeze, "lib/infobar/trend.rb".freeze, "lib/infobar/version.rb".freeze]
|
|
15
|
-
s.files = [".gitignore".freeze, ".rspec".freeze, ".travis.yml".freeze, ".utilsrc".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "TODO.md".freeze, "VERSION".freeze, "infobar.gemspec".freeze, "lib/infobar.rb".freeze, "lib/infobar/counter.rb".freeze, "lib/infobar/display.rb".freeze, "lib/infobar/duration.rb".freeze, "lib/infobar/fancy_interface.rb".freeze, "lib/infobar/fifo.rb".freeze, "lib/infobar/frequency.rb".freeze, "lib/infobar/input_output.rb".freeze, "lib/infobar/message.rb".freeze, "lib/infobar/number.rb".freeze, "lib/infobar/rate.rb".freeze, "lib/infobar/spinner.rb".freeze, "lib/infobar/timer.rb".freeze, "lib/infobar/trend.rb".freeze, "lib/infobar/version.rb".freeze, "spec/config/infobar.yml".freeze, "spec/infobar/config_spec.rb".freeze, "spec/infobar/counter_spec.rb".freeze, "spec/infobar/display_spec.rb".freeze, "spec/infobar/duration_spec.rb".freeze, "spec/infobar/fifo_spec.rb".freeze, "spec/infobar/frequency_spec.rb".freeze, "spec/infobar/input_output_spec.rb".freeze, "spec/infobar/message_spec.rb".freeze, "spec/infobar/number_spec.rb".freeze, "spec/infobar/rate_spec.rb".freeze, "spec/infobar/spinner_spec.rb".freeze, "spec/infobar/timer_spec.rb".freeze, "spec/infobar/trend_spec.rb".freeze, "spec/infobar_spec.rb".freeze, "spec/spec_helper.rb".freeze]
|
|
16
|
-
s.homepage = "http://
|
|
15
|
+
s.files = [".all_images.yml".freeze, ".gitignore".freeze, ".rspec".freeze, ".travis.yml".freeze, ".utilsrc".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "TODO.md".freeze, "VERSION".freeze, "infobar.gemspec".freeze, "lib/infobar.rb".freeze, "lib/infobar/counter.rb".freeze, "lib/infobar/display.rb".freeze, "lib/infobar/duration.rb".freeze, "lib/infobar/fancy_interface.rb".freeze, "lib/infobar/fifo.rb".freeze, "lib/infobar/frequency.rb".freeze, "lib/infobar/input_output.rb".freeze, "lib/infobar/message.rb".freeze, "lib/infobar/number.rb".freeze, "lib/infobar/rate.rb".freeze, "lib/infobar/spinner.rb".freeze, "lib/infobar/timer.rb".freeze, "lib/infobar/trend.rb".freeze, "lib/infobar/version.rb".freeze, "spec/config/infobar.yml".freeze, "spec/infobar/config_spec.rb".freeze, "spec/infobar/counter_spec.rb".freeze, "spec/infobar/display_spec.rb".freeze, "spec/infobar/duration_spec.rb".freeze, "spec/infobar/fifo_spec.rb".freeze, "spec/infobar/frequency_spec.rb".freeze, "spec/infobar/input_output_spec.rb".freeze, "spec/infobar/message_spec.rb".freeze, "spec/infobar/number_spec.rb".freeze, "spec/infobar/rate_spec.rb".freeze, "spec/infobar/spinner_spec.rb".freeze, "spec/infobar/timer_spec.rb".freeze, "spec/infobar/trend_spec.rb".freeze, "spec/infobar_spec.rb".freeze, "spec/spec_helper.rb".freeze]
|
|
16
|
+
s.homepage = "http://github.com/infobar".freeze
|
|
17
17
|
s.rdoc_options = ["--title".freeze, "Infobar".freeze, "--main".freeze, "README.md".freeze]
|
|
18
18
|
s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze)
|
|
19
|
-
s.rubygems_version = "3.
|
|
19
|
+
s.rubygems_version = "3.4.10".freeze
|
|
20
20
|
s.summary = "Gem to display information about computations.".freeze
|
|
21
21
|
s.test_files = ["spec/infobar/config_spec.rb".freeze, "spec/infobar/counter_spec.rb".freeze, "spec/infobar/display_spec.rb".freeze, "spec/infobar/duration_spec.rb".freeze, "spec/infobar/fifo_spec.rb".freeze, "spec/infobar/frequency_spec.rb".freeze, "spec/infobar/input_output_spec.rb".freeze, "spec/infobar/message_spec.rb".freeze, "spec/infobar/number_spec.rb".freeze, "spec/infobar/rate_spec.rb".freeze, "spec/infobar/spinner_spec.rb".freeze, "spec/infobar/timer_spec.rb".freeze, "spec/infobar/trend_spec.rb".freeze, "spec/infobar_spec.rb".freeze, "spec/spec_helper.rb".freeze]
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
s.specification_version = 4
|
|
25
|
-
end
|
|
23
|
+
s.specification_version = 4
|
|
26
24
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.9.1"])
|
|
38
|
-
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
|
39
|
-
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
40
|
-
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
|
41
|
-
s.add_dependency(%q<tins>.freeze, ["~> 1.0", ">= 1.15.0"])
|
|
42
|
-
s.add_dependency(%q<term-ansicolor>.freeze, ["~> 1.4"])
|
|
43
|
-
s.add_dependency(%q<complex_config>.freeze, ["~> 0.10"])
|
|
44
|
-
s.add_dependency(%q<more_math>.freeze, [">= 0"])
|
|
45
|
-
end
|
|
25
|
+
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
|
|
26
|
+
s.add_development_dependency(%q<rake>.freeze, [">= 0"])
|
|
27
|
+
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
28
|
+
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
|
|
29
|
+
s.add_development_dependency(%q<debug>.freeze, [">= 0"])
|
|
30
|
+
s.add_development_dependency(%q<all_images>.freeze, [">= 0"])
|
|
31
|
+
s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.0", ">= 1.28.0"])
|
|
32
|
+
s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.4"])
|
|
33
|
+
s.add_runtime_dependency(%q<complex_config>.freeze, ["~> 0.10"])
|
|
34
|
+
s.add_runtime_dependency(%q<more_math>.freeze, [">= 0"])
|
|
46
35
|
end
|
data/lib/infobar/display.rb
CHANGED
|
@@ -65,7 +65,7 @@ class Infobar::Display
|
|
|
65
65
|
attr_reader :style
|
|
66
66
|
|
|
67
67
|
def style=(new_style)
|
|
68
|
-
@style.update(new_style)
|
|
68
|
+
@style.update(**new_style)
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
def as_styles
|
|
@@ -78,12 +78,12 @@ class Infobar::Display
|
|
|
78
78
|
@as_styles.default_proc = proc { style.subhash(/\Adone_/) }
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
-
def update(message
|
|
81
|
+
def update(message: nil, counter: nil, force: false, **options)
|
|
82
82
|
force and @frequency.reset
|
|
83
83
|
@frequency.call do
|
|
84
|
-
message = Infobar.convert_to_message(message)
|
|
85
84
|
carriage_return
|
|
86
85
|
self.style = options
|
|
86
|
+
message = infobar.convert_to_message(message)
|
|
87
87
|
layout_bar(message, counter)
|
|
88
88
|
end
|
|
89
89
|
end
|
data/lib/infobar/message.rb
CHANGED
|
@@ -26,88 +26,88 @@ class Infobar::Message
|
|
|
26
26
|
|
|
27
27
|
# current counter value of items
|
|
28
28
|
register('%c', format: '%d', separate: ?_) do |directive, opts|
|
|
29
|
-
Infobar::Number.new(
|
|
29
|
+
Infobar::Number.new(infobar.counter.current, **opts)
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
# total counter value of items
|
|
33
33
|
register('%t', format: '%d', separate: ?_) do |directive, opts|
|
|
34
|
-
Infobar::Number.new(
|
|
34
|
+
Infobar::Number.new(infobar.counter.total, **opts)
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
# number of items to go
|
|
38
38
|
register('%T', format: '%d', separate: ?_) do |directive, opts|
|
|
39
|
-
Infobar::Number.new(
|
|
39
|
+
Infobar::Number.new(infobar.counter.to_go, **opts)
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
# label of progress bar
|
|
43
43
|
register '%l' do
|
|
44
|
-
|
|
44
|
+
infobar.label
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
# progressed so far as a float in 0..1
|
|
48
48
|
register('%p', format: '%.3f') do |directive, opts|
|
|
49
|
-
Infobar::Number.new(
|
|
49
|
+
Infobar::Number.new(infobar.counter.progressed, **opts)
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
# not yet progressed as a float in 0..1
|
|
53
53
|
register('%q', format: '%1.3f') do |directive, opts|
|
|
54
|
-
Infobar::Number.new(1 -
|
|
54
|
+
Infobar::Number.new(1 - infobar.counter.progressed, **opts)
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
# progressed as a percentage float in 0..100
|
|
58
58
|
register('%P', format: '%3.2f') do |directive, opts|
|
|
59
|
-
Infobar::Number.new(100 *
|
|
59
|
+
Infobar::Number.new(100 * infobar.counter.progressed, **opts)
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
# not yet progressed as a percentage float in 0..100
|
|
63
63
|
register('%Q', format: '%2.2f') do |directive, opts|
|
|
64
|
-
Infobar::Number.new(100 - 100 *
|
|
64
|
+
Infobar::Number.new(100 - 100 * infobar.counter.progressed, **opts)
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
# time elapsed as a duration
|
|
68
68
|
register('%te', format: '%D') do |directive, opts|
|
|
69
|
-
Infobar::Duration.new(
|
|
69
|
+
Infobar::Duration.new(infobar.counter.time_elapsed, **opts)
|
|
70
70
|
end
|
|
71
71
|
|
|
72
72
|
# total time as a duration
|
|
73
73
|
register('%tt', format: '%D') do |directive, opts|
|
|
74
|
-
Infobar::Duration.new(
|
|
74
|
+
Infobar::Duration.new(infobar.counter.total_time, **opts)
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
# ETA as a duration
|
|
78
78
|
register('%e', format: '%D') do |directive, opts|
|
|
79
|
-
Infobar::Duration.new(
|
|
79
|
+
Infobar::Duration.new(infobar.counter.time_remaining, **opts)
|
|
80
80
|
end
|
|
81
81
|
|
|
82
82
|
# ETA as a datetime
|
|
83
83
|
register('%E', format: '%T') do |directive, opts|
|
|
84
84
|
if format = opts[:format]
|
|
85
|
-
|
|
85
|
+
infobar.counter.eta.strftime(format)
|
|
86
86
|
else
|
|
87
|
-
|
|
87
|
+
infobar.counter.eta
|
|
88
88
|
end
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
# rate with or without units
|
|
92
92
|
register('%r', unit: 'i/s', prefix: 1000, format: '%.3f%U%t') do |directive, opts|
|
|
93
|
-
Infobar::Rate.new(
|
|
93
|
+
Infobar::Rate.new(infobar.counter.rate, infobar.counter.fifo_rate, **opts)
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
# average time as a duration
|
|
97
97
|
register('%a', format: '%m:%s.%f') do |directive, opts|
|
|
98
|
-
Infobar::Duration.new(
|
|
98
|
+
Infobar::Duration.new(infobar.counter.average_time, **opts)
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
# spinner
|
|
102
102
|
register('%s', frames: :pipe, message: ?✓) do |directive, opts|
|
|
103
|
-
if
|
|
103
|
+
if infobar.finished?
|
|
104
104
|
if message = opts[:message]
|
|
105
|
-
|
|
105
|
+
infobar.convert_to_message(message).to_str
|
|
106
106
|
end
|
|
107
107
|
elsif opts[:random]
|
|
108
108
|
Infobar::Spinner.new(opts[:frames]).spin(:random)
|
|
109
109
|
else
|
|
110
|
-
Infobar::Spinner.new(opts[:frames]).spin(
|
|
110
|
+
Infobar::Spinner.new(opts[:frames]).spin(infobar.display.updates)
|
|
111
111
|
end
|
|
112
112
|
end
|
|
113
113
|
|
|
@@ -116,9 +116,7 @@ class Infobar::Message
|
|
|
116
116
|
?%
|
|
117
117
|
end
|
|
118
118
|
|
|
119
|
-
def initialize(opts
|
|
120
|
-
@format = opts.delete(:format) or
|
|
121
|
-
raise ArgumentError, 'format option required'
|
|
119
|
+
def initialize(opts)
|
|
122
120
|
@opts = opts.each_with_object({}) { |(k, v), h| h[k.to_s] = v }
|
|
123
121
|
end
|
|
124
122
|
|
|
@@ -138,18 +136,20 @@ class Infobar::Message
|
|
|
138
136
|
|
|
139
137
|
def to_str
|
|
140
138
|
keys = directives.keys.sort_by { |k| -k.size }
|
|
141
|
-
|
|
139
|
+
format.gsub(/(?<!%)(#{keys * ?|})/) do
|
|
142
140
|
directives[$1].call($1, opts_for($1))
|
|
143
141
|
end
|
|
144
142
|
end
|
|
145
143
|
|
|
146
|
-
|
|
144
|
+
def format
|
|
145
|
+
@opts['format']
|
|
146
|
+
end
|
|
147
147
|
|
|
148
148
|
alias to_s format
|
|
149
149
|
|
|
150
150
|
def to_hash
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
result = @opts.dup
|
|
152
|
+
result[:format] = result.delete('format')
|
|
153
|
+
result
|
|
154
154
|
end
|
|
155
155
|
end
|
data/lib/infobar/version.rb
CHANGED
data/lib/infobar.rb
CHANGED
|
@@ -16,7 +16,7 @@ class Infobar
|
|
|
16
16
|
class << self
|
|
17
17
|
prepend Tins::Delegate
|
|
18
18
|
end
|
|
19
|
-
include
|
|
19
|
+
include Singleton
|
|
20
20
|
include Infobar::FancyInterface
|
|
21
21
|
prepend Infobar::InputOutput
|
|
22
22
|
include ComplexConfig::Provider::Shortcuts
|
|
@@ -28,7 +28,7 @@ class Infobar
|
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def self.display
|
|
31
|
-
|
|
31
|
+
infobar.display
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
attr_reader :message
|
|
@@ -57,6 +57,10 @@ class Infobar
|
|
|
57
57
|
|
|
58
58
|
delegate :output=, to: :display
|
|
59
59
|
|
|
60
|
+
def self.call(**opts)
|
|
61
|
+
instance.call(**opts)
|
|
62
|
+
end
|
|
63
|
+
|
|
60
64
|
def call(
|
|
61
65
|
total:,
|
|
62
66
|
current: 0,
|
|
@@ -84,9 +88,14 @@ class Infobar
|
|
|
84
88
|
self
|
|
85
89
|
end
|
|
86
90
|
|
|
87
|
-
def busy(**opts)
|
|
91
|
+
def self.busy(**opts, &block)
|
|
92
|
+
instance.busy(**opts, &block)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def busy(**opts, &block)
|
|
88
96
|
block_given? or raise ArgumentError, 'block is required as an argument'
|
|
89
97
|
duration = opts.delete(:sleep) || 0.1
|
|
98
|
+
reset
|
|
90
99
|
call(**opts | {
|
|
91
100
|
total: Float::INFINITY,
|
|
92
101
|
message: { format: ' %l %te %s ', '%s' => { frames: :circle1 } },
|
|
@@ -132,6 +141,10 @@ class Infobar
|
|
|
132
141
|
self
|
|
133
142
|
end
|
|
134
143
|
|
|
144
|
+
def self.convert_to_message(message)
|
|
145
|
+
instance.convert_to_message(message)
|
|
146
|
+
end
|
|
147
|
+
|
|
135
148
|
def convert_to_message(message)
|
|
136
149
|
case message
|
|
137
150
|
when Message
|
|
@@ -139,7 +152,7 @@ class Infobar
|
|
|
139
152
|
when Hash
|
|
140
153
|
Message.new(message)
|
|
141
154
|
when String
|
|
142
|
-
Message.new
|
|
155
|
+
Message.new({format: message})
|
|
143
156
|
else
|
|
144
157
|
@message
|
|
145
158
|
end
|
data/spec/config/infobar.yml
CHANGED
|
@@ -6,7 +6,7 @@ describe Infobar::Message do
|
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
let :message do
|
|
9
|
-
described_class.new(format: format, '%p' => { format: '%.2f' })
|
|
9
|
+
described_class.new({ format: format, '%p' => { format: '%.2f' } })
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
let :now do
|
|
@@ -60,7 +60,7 @@ describe Infobar::Message do
|
|
|
60
60
|
it 'can display eta in native format' do
|
|
61
61
|
Time.dummy(now) do
|
|
62
62
|
message =
|
|
63
|
-
described_class.new(format: 'test %E', '%E' => { format: nil }).to_str
|
|
63
|
+
described_class.new({ format: 'test %E', '%E' => { format: nil } }).to_str
|
|
64
64
|
expect(message).to eq "test #{now + 19}"
|
|
65
65
|
end
|
|
66
66
|
end
|
data/spec/infobar_spec.rb
CHANGED
|
@@ -24,7 +24,7 @@ describe Infobar do
|
|
|
24
24
|
Infobar(total: 10, update: true)
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
-
it 'can
|
|
27
|
+
it 'can update display with force' do
|
|
28
28
|
Infobar(total: 10)
|
|
29
29
|
expect(infobar.display).to receive(:update).
|
|
30
30
|
with(
|
|
@@ -148,8 +148,8 @@ describe Infobar do
|
|
|
148
148
|
it 'can sent specific message if finished by progress' do
|
|
149
149
|
Infobar(total: 10)
|
|
150
150
|
expect(infobar).not_to be_finished
|
|
151
|
-
expect(infobar).to receive(:finish).with(message: 'hello').
|
|
152
|
-
|
|
151
|
+
#x expect(infobar).to receive(:finish).with(message: 'hello').
|
|
152
|
+
#x and_call_original
|
|
153
153
|
infobar.progress(by: 10, finish: 'hello')
|
|
154
154
|
expect(infobar).to be_finished
|
|
155
155
|
end
|
|
@@ -158,11 +158,11 @@ describe Infobar do
|
|
|
158
158
|
Infobar(total: 10)
|
|
159
159
|
expect(infobar).not_to be_finished
|
|
160
160
|
message = Infobar::Message.new(format: 'hello')
|
|
161
|
-
expect(infobar.display).to receive(:update).with(
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
).and_call_original
|
|
161
|
+
#x expect(infobar.display).to receive(:update).with(
|
|
162
|
+
#x message: message,
|
|
163
|
+
#x force: true,
|
|
164
|
+
#x counter: anything
|
|
165
|
+
#x ).and_call_original
|
|
166
166
|
infobar.finish message: message
|
|
167
167
|
expect(infobar).to be_finished
|
|
168
168
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: infobar
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Florian Frank
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-10-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: gem_hadar
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 1.
|
|
19
|
+
version: 1.12.0
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 1.
|
|
26
|
+
version: 1.12.0
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -66,6 +66,34 @@ dependencies:
|
|
|
66
66
|
- - ">="
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: debug
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: all_images
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
69
97
|
- !ruby/object:Gem::Dependency
|
|
70
98
|
name: tins
|
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -75,7 +103,7 @@ dependencies:
|
|
|
75
103
|
version: '1.0'
|
|
76
104
|
- - ">="
|
|
77
105
|
- !ruby/object:Gem::Version
|
|
78
|
-
version: 1.
|
|
106
|
+
version: 1.28.0
|
|
79
107
|
type: :runtime
|
|
80
108
|
prerelease: false
|
|
81
109
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -85,7 +113,7 @@ dependencies:
|
|
|
85
113
|
version: '1.0'
|
|
86
114
|
- - ">="
|
|
87
115
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: 1.
|
|
116
|
+
version: 1.28.0
|
|
89
117
|
- !ruby/object:Gem::Dependency
|
|
90
118
|
name: term-ansicolor
|
|
91
119
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -151,6 +179,7 @@ extra_rdoc_files:
|
|
|
151
179
|
- lib/infobar/trend.rb
|
|
152
180
|
- lib/infobar/version.rb
|
|
153
181
|
files:
|
|
182
|
+
- ".all_images.yml"
|
|
154
183
|
- ".gitignore"
|
|
155
184
|
- ".rspec"
|
|
156
185
|
- ".travis.yml"
|
|
@@ -193,10 +222,10 @@ files:
|
|
|
193
222
|
- spec/infobar/trend_spec.rb
|
|
194
223
|
- spec/infobar_spec.rb
|
|
195
224
|
- spec/spec_helper.rb
|
|
196
|
-
homepage: http://
|
|
225
|
+
homepage: http://github.com/infobar
|
|
197
226
|
licenses: []
|
|
198
227
|
metadata: {}
|
|
199
|
-
post_install_message:
|
|
228
|
+
post_install_message:
|
|
200
229
|
rdoc_options:
|
|
201
230
|
- "--title"
|
|
202
231
|
- Infobar
|
|
@@ -215,8 +244,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
215
244
|
- !ruby/object:Gem::Version
|
|
216
245
|
version: '0'
|
|
217
246
|
requirements: []
|
|
218
|
-
rubygems_version: 3.
|
|
219
|
-
signing_key:
|
|
247
|
+
rubygems_version: 3.4.10
|
|
248
|
+
signing_key:
|
|
220
249
|
specification_version: 4
|
|
221
250
|
summary: Gem to display information about computations.
|
|
222
251
|
test_files:
|