operation 1.4.0 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/operation/deferrable.rb +12 -2
- data/lib/operation/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d89e289d93b3b894d3dfdf25a444bc3188774f7
|
4
|
+
data.tar.gz: 85870dc498593161fe5534abcf99fa2031c37914
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65e6dc0d082e367ef16cba4572933bd70ede006f87f8e31321d0269d213eca7d85f92e314628e777235359172842213ac34e618271928ff42f87e5bf7d557a46
|
7
|
+
data.tar.gz: b2980a0e28251a9818f014cf802910b6953e3ed35f474dfc3e95ca9f07f750a8400d0127d21ff9830744eabb6fd75d0ba57cce2b08f60701ce26807934228e1d
|
data/lib/operation/deferrable.rb
CHANGED
@@ -60,11 +60,21 @@ class Operation
|
|
60
60
|
@status ||= :unknown
|
61
61
|
end
|
62
62
|
|
63
|
+
# E.g. 42%
|
63
64
|
def percent
|
64
65
|
return 100 if succeeded?
|
65
66
|
@percent ||= 0
|
66
67
|
end
|
67
68
|
|
69
|
+
# E.g. 0.42
|
70
|
+
def perone
|
71
|
+
(percent.to_f / 100).round(2)
|
72
|
+
end
|
73
|
+
|
74
|
+
def method_name
|
75
|
+
|
76
|
+
end
|
77
|
+
|
68
78
|
def succeeded?
|
69
79
|
status == :succeeded
|
70
80
|
end
|
@@ -95,8 +105,8 @@ class Operation
|
|
95
105
|
if sub.percent.zero?
|
96
106
|
new_percent = 0
|
97
107
|
else
|
98
|
-
|
99
|
-
new_percent = from.to_i +
|
108
|
+
delta = (till.to_f - from.to_f) * sub.perone
|
109
|
+
new_percent = from.to_i + delta.to_i
|
100
110
|
end
|
101
111
|
progress! new_percent, sub.status
|
102
112
|
self
|
data/lib/operation/version.rb
CHANGED