fortschritt 1.0.3 → 1.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8cd437eabad2c3ec89fbbc3cc5298b1b35e706c7145a0088ee3b7f3e803e8b6
4
- data.tar.gz: 3ae6d6d0dc61f851e587365bcad41a9b5ba52c804f638cf9944fdf5b5c9195d5
3
+ metadata.gz: b4804f711a8d6f62f8537ce3264e5591abe2595427073355ada4646f3e3a7810
4
+ data.tar.gz: 34222bca37c996741093e31a1dbf209acfe42f532336fb79f9bf2d7344f52ca0
5
5
  SHA512:
6
- metadata.gz: 113c7028518cda915b1e6c443acec25f4fcb4b816e5e23086bc51b7b216721763baee83d21285c9a7443734c8e4ea36266311fe84ddfa20c49438ba8b1e5571d
7
- data.tar.gz: 500c0dbe716bfb73b5803a9558bd46ed4890c78c1b60a9e30cc497e982ae50677981960f2434d47dd0d46e8ccf2d3274975ada4b436e1c77febec1fd6a69b53e
6
+ metadata.gz: 4814f5944b85ebb658711c59ab2b8cf30419475eed7fd8b1d9eb7a2254265c4c3d29df6d883023b7be0e7ad55746b0833819de549b26d8591a4d21e880e6b740
7
+ data.tar.gz: 2d27ad534aa13a20e29fe4cfb7d2f65e0967234ee1ca91eefcaa9afbac624764bbda3e20d7f208aff7df87ba97fa9b527a8c89717ad3bcf7603cebb264767c34
data/README.md CHANGED
@@ -40,6 +40,15 @@ end
40
40
  # will print something like this: 1616/145096 → 00:13:21 → ETA 2016-02-04 18:11:50
41
41
  ```
42
42
 
43
+ Both methods accept an optional number, which will increment the counter by that number (defaults to 1):
44
+
45
+ ```ruby
46
+ User.all.with_fortschritt.in_batches do |batch|
47
+ # do something with `batch`
48
+ forstchritt(batch.size)
49
+ end
50
+ ```
51
+
43
52
  ### Silent
44
53
 
45
54
  If no output is required or wanted invoke `with_fortschritt` with the `silent: true` option
data/fortschritt.gemspec CHANGED
@@ -19,7 +19,6 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_development_dependency "bundler", "> 1.10"
23
- spec.add_development_dependency "rake", "~> 12.3.3"
22
+ spec.add_development_dependency "rake", "~> 13.3"
24
23
  spec.add_development_dependency "rspec"
25
24
  end
@@ -1,26 +1,28 @@
1
1
  module Enumerable
2
- def with_fortschritt(**opts)
3
- Fortschritt.init(size, **opts)
4
- self
2
+ def with_fortschritt(**opts, &block)
3
+ Fortschritt.init(count, **opts)
4
+ block ? each(&block) : self
5
5
  end
6
6
  end
7
7
 
8
8
  class Object
9
- def fortschritt
10
- Fortschritt.increment
9
+ def fortschritt(n = 1)
10
+ Fortschritt.increment(n)
11
11
  self
12
12
  end
13
13
  end
14
14
 
15
15
  if defined?(Rails)
16
16
  module Fortschritt::ActiveRecordExtension
17
- def with_fortschritt(**opts)
18
- Fortschritt.init(size, **opts)
19
- self
17
+ def with_fortschritt(**opts, &block)
18
+ Fortschritt.init(count, **opts)
19
+ block ? find_each(&block) : self
20
20
  end
21
21
  end
22
22
 
23
- ActiveRecord::Relation.include Fortschritt::ActiveRecordExtension
24
- ActiveRecord::Base.singleton_class.delegate :with_fortschritt, to: :all
23
+ ActiveSupport.on_load(:active_record) do
24
+ ActiveRecord::Relation.include Fortschritt::ActiveRecordExtension
25
+ singleton_class.delegate :with_fortschritt, to: :all
26
+ end
25
27
  end
26
28
 
@@ -12,12 +12,12 @@ module Fortschritt
12
12
  @printed_at = Time.now
13
13
  end
14
14
 
15
- def increment
15
+ def increment(n = 1)
16
16
  @_now = Time.now
17
17
  elapsed_seconds = @_now - updated_at
18
18
  @average_seconds = calculate_average_seconds(elapsed_seconds)
19
19
  @updated_at = @_now
20
- @done += 1
20
+ @done += n
21
21
  print! unless @silent || debounce?
22
22
  end
23
23
 
@@ -1,3 +1,3 @@
1
1
  module Fortschritt
2
- VERSION = '1.0.3'
2
+ VERSION = '1.2.1'
3
3
  end
data/lib/fortschritt.rb CHANGED
@@ -4,8 +4,8 @@ require 'fortschritt/printer'
4
4
  require 'fortschritt/enumerable'
5
5
 
6
6
  module Fortschritt
7
- def self.increment
8
- @meter and @meter.increment
7
+ def self.increment(n = 1)
8
+ @meter and @meter.increment(n)
9
9
  end
10
10
 
11
11
  def self.init(total, silent: false)
metadata CHANGED
@@ -1,43 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fortschritt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johannes Opper
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-20 00:00:00.000000000 Z
11
+ date: 2026-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">"
18
- - !ruby/object:Gem::Version
19
- version: '1.10'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">"
25
- - !ruby/object:Gem::Version
26
- version: '1.10'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rake
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: 12.3.3
19
+ version: '13.3'
34
20
  type: :development
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: 12.3.3
26
+ version: '13.3'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: rspec
43
29
  requirement: !ruby/object:Gem::Requirement