fortschritt 0.2.2 → 0.3.6

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
- SHA1:
3
- metadata.gz: 8f425d2b3104d6a678b40d606fe087044c5a78d2
4
- data.tar.gz: 032e1ee974bae5f15d7845d2113c271601ac23df
2
+ SHA256:
3
+ metadata.gz: 81fee1c2e0809177d3d26efec9da20c494708a86c497b0fe3d27b8b9df72f173
4
+ data.tar.gz: 79f930361ad85f1d34aa8784aca4d072e058bdf985420966c8c2e59c18bc4a63
5
5
  SHA512:
6
- metadata.gz: 3ef7622fbc5a9e891bfa74e5f889ceec6aa94b7e73574272cfaaabd5394b8bdaa4b5c70af6bff254ba0fdc7f3e9b62648d886394e47b7ace2f3451d2fea6bc37
7
- data.tar.gz: 3b6802dbdbffe8a07e7bd83afe7d95e7160d1dac728cad3fe2fa43d17a3d15ac002198178db26957fad9b0a8c0e9d44c8a3417099937a5a6d3a64ee670d90574
6
+ metadata.gz: 66302674f968e7b9553d4709164bc27bb97970624f0b324e74138c5718b0fd4980b9c733bc919e2eae26dfd1411d1c87c1b3aece09fcb63c30c179f2ceb5cd9e
7
+ data.tar.gz: d59919fdbc0bc21695867fd277f6512bf65c938c1e26ad4250a25ef74090c4f29e98a8e7450d5815c6d30bf70adbb9e17ae9c7e5b524797aba18b875ec2d5bf3
data/README.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Fortschritt
2
2
 
3
+ * no colors
4
+ * no config
5
+ * no tty stuff
6
+ * no terminal size calculation
7
+ * no dependencies
8
+
3
9
  ## Installation
4
10
 
5
11
  Add this line to your application's Gemfile:
@@ -32,6 +38,22 @@ end
32
38
  # will print something like this: 1616/145096 → 00:13:21 → ETA 2016-02-04 18:11:50
33
39
  ```
34
40
 
41
+ ### Silent
42
+
43
+ If no output is required or wanted invoke `with_fortschritt` with the `silent: true` option
44
+
45
+ ```ruby
46
+ User.all.with_fortschritt(silent: true).find_each do |user|
47
+ user.fortschritt.valid?
48
+ end
49
+
50
+ # won't output any progress
51
+ ```
52
+
53
+ Please note, within a Rails application fortschritt will detect the `Rails.env.test?` environment and silent itself automatically.
54
+
55
+ Fortschritt will also never output anything to a non-tty STDOUT.
56
+
35
57
  ## Contributing
36
58
 
37
59
  Bug reports and pull requests are welcome on GitHub at https://github.com/xijo/fortschritt.
data/fortschritt.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.10"
22
- spec.add_development_dependency "rake", "~> 10.0"
21
+ spec.add_development_dependency "bundler", "> 1.10"
22
+ spec.add_development_dependency "rake", "~> 12.3.3"
23
23
  spec.add_development_dependency "rspec"
24
24
  end
data/lib/fortschritt.rb CHANGED
@@ -8,8 +8,8 @@ module Fortschritt
8
8
  @meter and @meter.increment
9
9
  end
10
10
 
11
- def self.init(total)
12
- @meter = Fortschritt::Meter.new(total)
11
+ def self.init(total, silent: false)
12
+ @meter = Fortschritt::Meter.new(total, silent: silent)
13
13
  end
14
14
 
15
15
  def self.printer
@@ -1,6 +1,6 @@
1
1
  module Enumerable
2
- def with_fortschritt
3
- Fortschritt.init(size)
2
+ def with_fortschritt(**opts)
3
+ Fortschritt.init(size, **opts)
4
4
  self
5
5
  end
6
6
  end
@@ -17,8 +17,8 @@ if defined?(Rails)
17
17
 
18
18
  extend ActiveSupport::Concern
19
19
 
20
- def with_fortschritt
21
- Fortschritt.init(count)
20
+ def with_fortschritt(**opts)
21
+ Fortschritt.init(size, **opts)
22
22
  self
23
23
  end
24
24
  end
@@ -1,13 +1,14 @@
1
1
  module Fortschritt
2
2
  class Meter
3
- attr_accessor :total, :done, :updated_at, :average_seconds
3
+ attr_accessor :total, :done, :updated_at, :average_seconds, :silent
4
4
 
5
- def initialize(total)
5
+ def initialize(total, silent: false)
6
6
  @total = total
7
7
  @done = 0
8
8
  @updated_at = Time.now
9
9
  @average_seconds = 0
10
10
  @started_at = Time.now
11
+ @silent = silent || !!(Rails.env.test? if defined?(Rails))
11
12
  end
12
13
 
13
14
  def increment
@@ -16,7 +17,7 @@ module Fortschritt
16
17
  @average_seconds = calculate_average_seconds(elapsed_seconds)
17
18
  @updated_at = @_now
18
19
  @done += 1
19
- print!
20
+ print! unless @silent
20
21
  end
21
22
 
22
23
  def completed?
@@ -1,7 +1,7 @@
1
1
  module Fortschritt
2
2
  class Printer
3
3
  def print(meter, stream = STDOUT)
4
- stream.print output(meter)
4
+ stream.print output(meter) if stream.tty?
5
5
  end
6
6
 
7
7
  def output(meter)
@@ -1,3 +1,3 @@
1
1
  module Fortschritt
2
- VERSION = '0.2.2'
2
+ VERSION = '0.3.6'
3
3
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fortschritt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johannes Opper
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-10 00:00:00.000000000 Z
11
+ date: 2021-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.10'
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
26
  version: '1.10'
27
27
  - !ruby/object:Gem::Dependency
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: 12.3.3
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: 12.3.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -76,7 +76,7 @@ files:
76
76
  homepage: https://github.com/xijo/fortschritt
77
77
  licenses: []
78
78
  metadata: {}
79
- post_install_message:
79
+ post_install_message:
80
80
  rdoc_options: []
81
81
  require_paths:
82
82
  - lib
@@ -91,10 +91,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  - !ruby/object:Gem::Version
92
92
  version: '0'
93
93
  requirements: []
94
- rubyforge_project:
95
- rubygems_version: 2.5.1
96
- signing_key:
94
+ rubygems_version: 3.1.2
95
+ signing_key:
97
96
  specification_version: 4
98
97
  summary: non-fancy progress
99
98
  test_files: []
100
- has_rdoc: