custom_tracker 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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