custom_tracker 1.0.0 → 1.0.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: abf4674f2aced8badf74b1d922c6eb88a4900f125890e181f58ee6d349aeaaf3
4
- data.tar.gz: 16d2709415d57ae08a7663e19c76fd6f8a8380558424e917dcf1133b5431d9b2
3
+ metadata.gz: fa3e96edf227ce2525992ceca2c33157c747e551e63d462a25598df8a045e666
4
+ data.tar.gz: 5afccb4036378327bc8b2c3d08eabed131b361fd909912f658853e76810b8c0e
5
5
  SHA512:
6
- metadata.gz: 8f31ebd752a9de71c5ad195d6e6bf422d34ad44b7da71a351f77f535f480de5f6018b9875927045dc74d7adc9364e95e7969269ca7eee8fd3ab4452e8f55fa25
7
- data.tar.gz: 4133a0df76e079118eb0b9b7d2a1e7677f20b1d5c1d52cda840bec64afc8596973f05782f86187e216f8594a07bdd1e267724e0ace0d8bc7123643d9a048e11c
6
+ metadata.gz: 294c17f3dbbf35a343cac2694fef06e16b281e8d2a5b108e712e328c60a8da8ea578e0ba617f1790c1705e28d9d995a3952c02c3201f87665956a1e2b4efb050
7
+ data.tar.gz: 369708a814e7ef952be0ea562e90aa7b42e5c3220db7ce1397d09736dfe69958c36dc90a67474715d52010b1ba26777924e6a8d09e017a0344cd3fdbded22b26
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- custom_tracker (1.0.0)
4
+ custom_tracker (1.0.1)
5
5
  csv (~> 3.1)
6
6
  date (~> 2.0)
7
7
 
@@ -47,6 +47,7 @@ module CustomTracker
47
47
 
48
48
  @size_saved = 0
49
49
  @unsaved_entries = []
50
+ @mutex = Mutex.new
50
51
  end
51
52
 
52
53
  ##
@@ -84,14 +85,18 @@ module CustomTracker
84
85
  ##
85
86
  # Saves all unsaved entries.
86
87
  #
88
+ # Execution of this method is syncronized with +Mutex+ local to current table.
89
+ #
87
90
  # @return [Integer] amount of saved entries.
88
91
  def save
89
- @saving_block.call(@unsaved_entries, self)
90
- re = @unsaved_entries.size
91
- @size_saved += re
92
- @unsaved_entries.clear
92
+ @mutex.synchronize do
93
+ @saving_block.call(@unsaved_entries, self)
94
+ re = @unsaved_entries.size
95
+ @size_saved += re
96
+ @unsaved_entries.clear
93
97
 
94
- re
98
+ re
99
+ end
95
100
  end
96
101
 
97
102
  end
@@ -2,6 +2,6 @@ module CustomTracker
2
2
 
3
3
  ##
4
4
  # Gem version.
5
- VERSION = "1.0.0"
5
+ VERSION = "1.0.1"
6
6
 
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: custom_tracker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fizvlad
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-02 00:00:00.000000000 Z
11
+ date: 2019-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: csv