blackbox 3.1.1 → 3.1.2
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 +4 -4
- data/.rubocop.yml +3 -3
- data/.ruby-version +1 -0
- data/.travis.yml +3 -0
- data/coverage/.resultset.json +30 -24
- data/coverage/index.html +108 -72
- data/doc/BB.html +3 -3
- data/doc/BB/Crypto.html +2 -2
- data/doc/BB/Gem.html +17 -5
- data/doc/BB/Hash.html +2 -2
- data/doc/BB/Number.html +2 -2
- data/doc/BB/String.html +2 -2
- data/doc/_index.html +2 -2
- data/doc/file.README.html +2 -2
- data/doc/index.html +2 -2
- data/doc/top-level-namespace.html +2 -2
- data/lib/blackbox/gem.rb +8 -2
- data/lib/blackbox/version.rb +1 -1
- data/spec/gem_spec.rb +48 -23
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7c6938a08003ce8bfe1ff81152fd39b7bd35fafa
|
|
4
|
+
data.tar.gz: 6d92017a1820d601966baebae96ce8aad36428f2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 35acb7134141ea40be1e66d9ec7db51f7682e848e7b5ec2dea0984dd9e195976941fcac8a92d65f28ea045ea54dfdc89d75cb1c7181858fb223e8591ce19c591
|
|
7
|
+
data.tar.gz: ac8aa950a727bb53336b59713ffd2119afc7a0946eaa0669a35e8e8ad61d0626ad60e7264b593ca7299c42ddd704e0f3db9952ee8c92f484780ebceaffa690a0
|
data/.rubocop.yml
CHANGED
|
@@ -2,10 +2,10 @@ AllCops:
|
|
|
2
2
|
TargetRubyVersion: 2.3
|
|
3
3
|
|
|
4
4
|
Metrics/AbcSize:
|
|
5
|
-
Max:
|
|
5
|
+
Max: 53
|
|
6
6
|
|
|
7
7
|
Metrics/CyclomaticComplexity:
|
|
8
|
-
Max:
|
|
8
|
+
Max: 12
|
|
9
9
|
|
|
10
10
|
Metrics/LineLength:
|
|
11
11
|
Max: 133
|
|
@@ -14,7 +14,7 @@ Metrics/MethodLength:
|
|
|
14
14
|
Max: 50
|
|
15
15
|
|
|
16
16
|
Metrics/PerceivedComplexity:
|
|
17
|
-
Max:
|
|
17
|
+
Max: 12
|
|
18
18
|
|
|
19
19
|
Style/FormatString:
|
|
20
20
|
Exclude:
|
data/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.3.1
|
data/.travis.yml
ADDED
data/coverage/.resultset.json
CHANGED
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
null,
|
|
123
123
|
null,
|
|
124
124
|
1,
|
|
125
|
-
|
|
125
|
+
8,
|
|
126
126
|
null,
|
|
127
127
|
null,
|
|
128
128
|
null,
|
|
@@ -132,43 +132,49 @@
|
|
|
132
132
|
null,
|
|
133
133
|
null,
|
|
134
134
|
null,
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
8,
|
|
136
|
+
32,
|
|
137
137
|
null,
|
|
138
138
|
null,
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
8,
|
|
140
|
+
8,
|
|
141
141
|
null,
|
|
142
|
-
|
|
142
|
+
8,
|
|
143
143
|
null,
|
|
144
144
|
null,
|
|
145
145
|
null,
|
|
146
146
|
null,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
147
|
+
8,
|
|
148
|
+
8,
|
|
149
|
+
8,
|
|
150
|
+
1,
|
|
150
151
|
1,
|
|
152
|
+
null,
|
|
153
|
+
null,
|
|
154
|
+
7,
|
|
155
|
+
7,
|
|
156
|
+
7,
|
|
157
|
+
null,
|
|
158
|
+
7,
|
|
159
|
+
null,
|
|
160
|
+
7,
|
|
161
|
+
7,
|
|
162
|
+
7,
|
|
163
|
+
null,
|
|
151
164
|
1,
|
|
152
165
|
null,
|
|
153
166
|
null,
|
|
154
|
-
|
|
155
|
-
2,
|
|
156
|
-
2,
|
|
167
|
+
7,
|
|
157
168
|
null,
|
|
158
|
-
2,
|
|
159
169
|
null,
|
|
160
|
-
2,
|
|
161
|
-
2,
|
|
162
|
-
2,
|
|
163
170
|
null,
|
|
164
|
-
2,
|
|
165
171
|
null,
|
|
166
|
-
|
|
172
|
+
7,
|
|
167
173
|
null,
|
|
168
|
-
|
|
169
|
-
|
|
174
|
+
6,
|
|
175
|
+
6,
|
|
170
176
|
null,
|
|
171
|
-
|
|
177
|
+
6,
|
|
172
178
|
null,
|
|
173
179
|
null,
|
|
174
180
|
null,
|
|
@@ -176,9 +182,9 @@
|
|
|
176
182
|
null,
|
|
177
183
|
null,
|
|
178
184
|
null,
|
|
179
|
-
|
|
185
|
+
6,
|
|
180
186
|
null,
|
|
181
|
-
|
|
187
|
+
6,
|
|
182
188
|
null,
|
|
183
189
|
null,
|
|
184
190
|
null,
|
|
@@ -439,6 +445,6 @@
|
|
|
439
445
|
null
|
|
440
446
|
]
|
|
441
447
|
},
|
|
442
|
-
"timestamp":
|
|
448
|
+
"timestamp": 1463256622
|
|
443
449
|
}
|
|
444
450
|
}
|
data/coverage/index.html
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<img src="./assets/0.10.0/loading.gif" alt="loading"/>
|
|
15
15
|
</div>
|
|
16
16
|
<div id="wrapper" style="display:none;">
|
|
17
|
-
<div class="timestamp">Generated <abbr class="timeago" title="2016-05-
|
|
17
|
+
<div class="timestamp">Generated <abbr class="timeago" title="2016-05-14T22:10:22+02:00">2016-05-14T22:10:22+02:00</abbr></div>
|
|
18
18
|
<ul class="group_tabs"></ul>
|
|
19
19
|
|
|
20
20
|
<div id="content">
|
|
@@ -25,15 +25,15 @@
|
|
|
25
25
|
covered at
|
|
26
26
|
<span class="covered_strength">
|
|
27
27
|
<span class="green">
|
|
28
|
-
|
|
28
|
+
63.22
|
|
29
29
|
</span>
|
|
30
30
|
</span> hits/line)
|
|
31
31
|
</h2>
|
|
32
32
|
<a name="AllFiles"></a>
|
|
33
33
|
<div>
|
|
34
34
|
<b>5</b> files in total.
|
|
35
|
-
<b>
|
|
36
|
-
<span class="green"><b>
|
|
35
|
+
<b>131</b> relevant lines.
|
|
36
|
+
<span class="green"><b>131</b> lines covered</span> and
|
|
37
37
|
<span class="red"><b>0</b> lines missed </span>
|
|
38
38
|
</div>
|
|
39
39
|
<table class="file_list">
|
|
@@ -63,11 +63,11 @@
|
|
|
63
63
|
<tr>
|
|
64
64
|
<td class="strong"><a href="#192e300fd7769b750c82567439ee016f85516f3d" class="src_link" title="lib/blackbox/gem.rb">lib/blackbox/gem.rb</a></td>
|
|
65
65
|
<td class="green strong">100.0 %</td>
|
|
66
|
-
<td>
|
|
67
|
-
<td>
|
|
68
|
-
<td>
|
|
66
|
+
<td>88</td>
|
|
67
|
+
<td>30</td>
|
|
68
|
+
<td>30</td>
|
|
69
69
|
<td>0</td>
|
|
70
|
-
<td>
|
|
70
|
+
<td>6.5</td>
|
|
71
71
|
</tr>
|
|
72
72
|
|
|
73
73
|
<tr>
|
|
@@ -721,8 +721,8 @@
|
|
|
721
721
|
<h3>lib/blackbox/gem.rb</h3>
|
|
722
722
|
<h4><span class="green">100.0 %</span> covered</h4>
|
|
723
723
|
<div>
|
|
724
|
-
<b>
|
|
725
|
-
<span class="green"><b>
|
|
724
|
+
<b>30</b> relevant lines.
|
|
725
|
+
<span class="green"><b>30</b> lines covered</span> and
|
|
726
726
|
<span class="red"><b>0</b> lines missed.</span>
|
|
727
727
|
</div>
|
|
728
728
|
</div>
|
|
@@ -856,8 +856,8 @@
|
|
|
856
856
|
<code class="ruby"> def version_info(*_, **opts)</code>
|
|
857
857
|
</li>
|
|
858
858
|
|
|
859
|
-
<li class="covered" data-hits="
|
|
860
|
-
<span class="hits">
|
|
859
|
+
<li class="covered" data-hits="8" data-linenumber="22">
|
|
860
|
+
<span class="hits">8</span>
|
|
861
861
|
|
|
862
862
|
<code class="ruby"> ret = {</code>
|
|
863
863
|
</li>
|
|
@@ -916,14 +916,14 @@
|
|
|
916
916
|
<code class="ruby"></code>
|
|
917
917
|
</li>
|
|
918
918
|
|
|
919
|
-
<li class="covered" data-hits="
|
|
920
|
-
<span class="hits">
|
|
919
|
+
<li class="covered" data-hits="8" data-linenumber="32">
|
|
920
|
+
<span class="hits">8</span>
|
|
921
921
|
|
|
922
922
|
<code class="ruby"> spec = ::Gem::Specification.find do |s|</code>
|
|
923
923
|
</li>
|
|
924
924
|
|
|
925
|
-
<li class="covered" data-hits="
|
|
926
|
-
<span class="hits">
|
|
925
|
+
<li class="covered" data-hits="32" data-linenumber="33">
|
|
926
|
+
<span class="hits">32</span>
|
|
927
927
|
|
|
928
928
|
<code class="ruby"> File.fnmatch(File.join(s.full_gem_path, '*'), __FILE__)</code>
|
|
929
929
|
</li>
|
|
@@ -940,14 +940,14 @@
|
|
|
940
940
|
<code class="ruby"></code>
|
|
941
941
|
</li>
|
|
942
942
|
|
|
943
|
-
<li class="covered" data-hits="
|
|
944
|
-
<span class="hits">
|
|
943
|
+
<li class="covered" data-hits="8" data-linenumber="36">
|
|
944
|
+
<span class="hits">8</span>
|
|
945
945
|
|
|
946
946
|
<code class="ruby"> ret[:gem_installed_version] = spec&.version.to_s || :unknown</code>
|
|
947
947
|
</li>
|
|
948
948
|
|
|
949
|
-
<li class="covered" data-hits="
|
|
950
|
-
<span class="hits">
|
|
949
|
+
<li class="covered" data-hits="8" data-linenumber="37">
|
|
950
|
+
<span class="hits">8</span>
|
|
951
951
|
|
|
952
952
|
<code class="ruby"> ret[:gem_name] = spec&.name || :unknown</code>
|
|
953
953
|
</li>
|
|
@@ -958,8 +958,8 @@
|
|
|
958
958
|
<code class="ruby"></code>
|
|
959
959
|
</li>
|
|
960
960
|
|
|
961
|
-
<li class="covered" data-hits="
|
|
962
|
-
<span class="hits">
|
|
961
|
+
<li class="covered" data-hits="8" data-linenumber="39">
|
|
962
|
+
<span class="hits">8</span>
|
|
963
963
|
|
|
964
964
|
<code class="ruby"> opts = { # defaults</code>
|
|
965
965
|
</li>
|
|
@@ -988,20 +988,20 @@
|
|
|
988
988
|
<code class="ruby"></code>
|
|
989
989
|
</li>
|
|
990
990
|
|
|
991
|
-
<li class="covered" data-hits="
|
|
992
|
-
<span class="hits">
|
|
991
|
+
<li class="covered" data-hits="8" data-linenumber="44">
|
|
992
|
+
<span class="hits">8</span>
|
|
993
993
|
|
|
994
994
|
<code class="ruby"> return ret if ret[:gem_name] == :unknown</code>
|
|
995
995
|
</li>
|
|
996
996
|
|
|
997
|
-
<li class="covered" data-hits="
|
|
998
|
-
<span class="hits">
|
|
997
|
+
<li class="covered" data-hits="8" data-linenumber="45">
|
|
998
|
+
<span class="hits">8</span>
|
|
999
999
|
|
|
1000
1000
|
<code class="ruby"> return ret if ret[:gem_installed_version] == :unknown</code>
|
|
1001
1001
|
</li>
|
|
1002
1002
|
|
|
1003
|
-
<li class="covered" data-hits="
|
|
1004
|
-
<span class="hits">
|
|
1003
|
+
<li class="covered" data-hits="8" data-linenumber="46">
|
|
1004
|
+
<span class="hits">8</span>
|
|
1005
1005
|
|
|
1006
1006
|
<code class="ruby"> if opts[:disabling_env_var] && ENV.include?(opts[:disabling_env_var])</code>
|
|
1007
1007
|
</li>
|
|
@@ -1030,20 +1030,20 @@
|
|
|
1030
1030
|
<code class="ruby"></code>
|
|
1031
1031
|
</li>
|
|
1032
1032
|
|
|
1033
|
-
<li class="covered" data-hits="
|
|
1034
|
-
<span class="hits">
|
|
1033
|
+
<li class="covered" data-hits="7" data-linenumber="51">
|
|
1034
|
+
<span class="hits">7</span>
|
|
1035
1035
|
|
|
1036
1036
|
<code class="ruby"> require 'gem_update_checker'</code>
|
|
1037
1037
|
</li>
|
|
1038
1038
|
|
|
1039
|
-
<li class="covered" data-hits="
|
|
1040
|
-
<span class="hits">
|
|
1039
|
+
<li class="covered" data-hits="7" data-linenumber="52">
|
|
1040
|
+
<span class="hits">7</span>
|
|
1041
1041
|
|
|
1042
1042
|
<code class="ruby"> require 'tmpdir'</code>
|
|
1043
1043
|
</li>
|
|
1044
1044
|
|
|
1045
|
-
<li class="covered" data-hits="
|
|
1046
|
-
<span class="hits">
|
|
1045
|
+
<li class="covered" data-hits="7" data-linenumber="53">
|
|
1046
|
+
<span class="hits">7</span>
|
|
1047
1047
|
|
|
1048
1048
|
<code class="ruby"> require 'fileutils'</code>
|
|
1049
1049
|
</li>
|
|
@@ -1054,8 +1054,8 @@
|
|
|
1054
1054
|
<code class="ruby"></code>
|
|
1055
1055
|
</li>
|
|
1056
1056
|
|
|
1057
|
-
<li class="covered" data-hits="
|
|
1058
|
-
<span class="hits">
|
|
1057
|
+
<li class="covered" data-hits="7" data-linenumber="55">
|
|
1058
|
+
<span class="hits">7</span>
|
|
1059
1059
|
|
|
1060
1060
|
<code class="ruby"> statefile_path = File.join(Dir.tmpdir, "#{ret[:gem_name]}-#{ret[:gem_installed_version]}.last_update_check")</code>
|
|
1061
1061
|
</li>
|
|
@@ -1066,20 +1066,20 @@
|
|
|
1066
1066
|
<code class="ruby"></code>
|
|
1067
1067
|
</li>
|
|
1068
1068
|
|
|
1069
|
-
<li class="covered" data-hits="
|
|
1070
|
-
<span class="hits">
|
|
1069
|
+
<li class="covered" data-hits="7" data-linenumber="57">
|
|
1070
|
+
<span class="hits">7</span>
|
|
1071
1071
|
|
|
1072
1072
|
<code class="ruby"> last_check_at = nil</code>
|
|
1073
1073
|
</li>
|
|
1074
1074
|
|
|
1075
|
-
<li class="covered" data-hits="
|
|
1076
|
-
<span class="hits">
|
|
1075
|
+
<li class="covered" data-hits="7" data-linenumber="58">
|
|
1076
|
+
<span class="hits">7</span>
|
|
1077
1077
|
|
|
1078
1078
|
<code class="ruby"> begin</code>
|
|
1079
1079
|
</li>
|
|
1080
1080
|
|
|
1081
|
-
<li class="covered" data-hits="
|
|
1082
|
-
<span class="hits">
|
|
1081
|
+
<li class="covered" data-hits="7" data-linenumber="59">
|
|
1082
|
+
<span class="hits">7</span>
|
|
1083
1083
|
|
|
1084
1084
|
<code class="ruby"> last_check_at = File.stat(statefile_path).mtime</code>
|
|
1085
1085
|
</li>
|
|
@@ -1090,8 +1090,8 @@
|
|
|
1090
1090
|
<code class="ruby"> rescue</code>
|
|
1091
1091
|
</li>
|
|
1092
1092
|
|
|
1093
|
-
<li class="covered" data-hits="
|
|
1094
|
-
<span class="hits">
|
|
1093
|
+
<li class="covered" data-hits="1" data-linenumber="61">
|
|
1094
|
+
<span class="hits">1</span>
|
|
1095
1095
|
|
|
1096
1096
|
<code class="ruby"> last_check_at = Time.at(0)</code>
|
|
1097
1097
|
</li>
|
|
@@ -1102,121 +1102,157 @@
|
|
|
1102
1102
|
<code class="ruby"> end</code>
|
|
1103
1103
|
</li>
|
|
1104
1104
|
|
|
1105
|
-
<li class="
|
|
1106
|
-
|
|
1105
|
+
<li class="never" data-hits="" data-linenumber="63">
|
|
1106
|
+
|
|
1107
1107
|
|
|
1108
|
-
<code class="ruby"
|
|
1108
|
+
<code class="ruby"></code>
|
|
1109
1109
|
</li>
|
|
1110
1110
|
|
|
1111
|
-
<li class="
|
|
1111
|
+
<li class="covered" data-hits="7" data-linenumber="64">
|
|
1112
|
+
<span class="hits">7</span>
|
|
1113
|
+
|
|
1114
|
+
<code class="ruby"> ret.merge!(</code>
|
|
1115
|
+
</li>
|
|
1116
|
+
|
|
1117
|
+
<li class="never" data-hits="" data-linenumber="65">
|
|
1118
|
+
|
|
1119
|
+
|
|
1120
|
+
<code class="ruby"> last_checked_for_update: last_check_at,</code>
|
|
1121
|
+
</li>
|
|
1122
|
+
|
|
1123
|
+
<li class="never" data-hits="" data-linenumber="66">
|
|
1124
|
+
|
|
1125
|
+
|
|
1126
|
+
<code class="ruby"> next_check_for_update: last_check_at + opts[:check_interval]</code>
|
|
1127
|
+
</li>
|
|
1128
|
+
|
|
1129
|
+
<li class="never" data-hits="" data-linenumber="67">
|
|
1130
|
+
|
|
1131
|
+
|
|
1132
|
+
<code class="ruby"> )</code>
|
|
1133
|
+
</li>
|
|
1134
|
+
|
|
1135
|
+
<li class="never" data-hits="" data-linenumber="68">
|
|
1112
1136
|
|
|
1113
1137
|
|
|
1114
1138
|
<code class="ruby"></code>
|
|
1115
1139
|
</li>
|
|
1116
1140
|
|
|
1117
|
-
<li class="covered" data-hits="
|
|
1118
|
-
<span class="hits">
|
|
1141
|
+
<li class="covered" data-hits="7" data-linenumber="69">
|
|
1142
|
+
<span class="hits">7</span>
|
|
1143
|
+
|
|
1144
|
+
<code class="ruby"> return ret if last_check_at + opts[:check_interval] > Time.now && !opts[:force_check]</code>
|
|
1145
|
+
</li>
|
|
1146
|
+
|
|
1147
|
+
<li class="never" data-hits="" data-linenumber="70">
|
|
1148
|
+
|
|
1149
|
+
|
|
1150
|
+
<code class="ruby"></code>
|
|
1151
|
+
</li>
|
|
1152
|
+
|
|
1153
|
+
<li class="covered" data-hits="6" data-linenumber="71">
|
|
1154
|
+
<span class="hits">6</span>
|
|
1119
1155
|
|
|
1120
1156
|
<code class="ruby"> checker = GemUpdateChecker::Client.new(ret[:gem_name], ret[:gem_installed_version])</code>
|
|
1121
1157
|
</li>
|
|
1122
1158
|
|
|
1123
|
-
<li class="covered" data-hits="
|
|
1124
|
-
<span class="hits">
|
|
1159
|
+
<li class="covered" data-hits="6" data-linenumber="72">
|
|
1160
|
+
<span class="hits">6</span>
|
|
1125
1161
|
|
|
1126
1162
|
<code class="ruby"> last_check_at = Time.now</code>
|
|
1127
1163
|
</li>
|
|
1128
1164
|
|
|
1129
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1165
|
+
<li class="never" data-hits="" data-linenumber="73">
|
|
1130
1166
|
|
|
1131
1167
|
|
|
1132
1168
|
<code class="ruby"></code>
|
|
1133
1169
|
</li>
|
|
1134
1170
|
|
|
1135
|
-
<li class="covered" data-hits="
|
|
1136
|
-
<span class="hits">
|
|
1171
|
+
<li class="covered" data-hits="6" data-linenumber="74">
|
|
1172
|
+
<span class="hits">6</span>
|
|
1137
1173
|
|
|
1138
1174
|
<code class="ruby"> ret.merge!(</code>
|
|
1139
1175
|
</li>
|
|
1140
1176
|
|
|
1141
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1177
|
+
<li class="never" data-hits="" data-linenumber="75">
|
|
1142
1178
|
|
|
1143
1179
|
|
|
1144
1180
|
<code class="ruby"> gem_latest_version: checker.latest_version,</code>
|
|
1145
1181
|
</li>
|
|
1146
1182
|
|
|
1147
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1183
|
+
<li class="never" data-hits="" data-linenumber="76">
|
|
1148
1184
|
|
|
1149
1185
|
|
|
1150
1186
|
<code class="ruby"> last_checked_for_update: last_check_at,</code>
|
|
1151
1187
|
</li>
|
|
1152
1188
|
|
|
1153
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1189
|
+
<li class="never" data-hits="" data-linenumber="77">
|
|
1154
1190
|
|
|
1155
1191
|
|
|
1156
1192
|
<code class="ruby"> next_check_for_update: last_check_at + opts[:check_interval],</code>
|
|
1157
1193
|
</li>
|
|
1158
1194
|
|
|
1159
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1195
|
+
<li class="never" data-hits="" data-linenumber="78">
|
|
1160
1196
|
|
|
1161
1197
|
|
|
1162
1198
|
<code class="ruby"> installed_is_latest: ret[:gem_installed_version] == checker.latest_version,</code>
|
|
1163
1199
|
</li>
|
|
1164
1200
|
|
|
1165
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1201
|
+
<li class="never" data-hits="" data-linenumber="79">
|
|
1166
1202
|
|
|
1167
1203
|
|
|
1168
1204
|
<code class="ruby"> gem_update_available: checker.update_available</code>
|
|
1169
1205
|
</li>
|
|
1170
1206
|
|
|
1171
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1207
|
+
<li class="never" data-hits="" data-linenumber="80">
|
|
1172
1208
|
|
|
1173
1209
|
|
|
1174
1210
|
<code class="ruby"> )</code>
|
|
1175
1211
|
</li>
|
|
1176
1212
|
|
|
1177
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1213
|
+
<li class="never" data-hits="" data-linenumber="81">
|
|
1178
1214
|
|
|
1179
1215
|
|
|
1180
1216
|
<code class="ruby"></code>
|
|
1181
1217
|
</li>
|
|
1182
1218
|
|
|
1183
|
-
<li class="covered" data-hits="
|
|
1184
|
-
<span class="hits">
|
|
1219
|
+
<li class="covered" data-hits="6" data-linenumber="82">
|
|
1220
|
+
<span class="hits">6</span>
|
|
1185
1221
|
|
|
1186
|
-
<code class="ruby"> FileUtils.touch(statefile_path) if ret[:installed_is_latest]</code>
|
|
1222
|
+
<code class="ruby"> FileUtils.touch(statefile_path, mtime: Time.now) if ret[:installed_is_latest] || opts[:force_check]</code>
|
|
1187
1223
|
</li>
|
|
1188
1224
|
|
|
1189
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1225
|
+
<li class="never" data-hits="" data-linenumber="83">
|
|
1190
1226
|
|
|
1191
1227
|
|
|
1192
1228
|
<code class="ruby"></code>
|
|
1193
1229
|
</li>
|
|
1194
1230
|
|
|
1195
|
-
<li class="covered" data-hits="
|
|
1196
|
-
<span class="hits">
|
|
1231
|
+
<li class="covered" data-hits="6" data-linenumber="84">
|
|
1232
|
+
<span class="hits">6</span>
|
|
1197
1233
|
|
|
1198
1234
|
<code class="ruby"> ret</code>
|
|
1199
1235
|
</li>
|
|
1200
1236
|
|
|
1201
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1237
|
+
<li class="never" data-hits="" data-linenumber="85">
|
|
1202
1238
|
|
|
1203
1239
|
|
|
1204
1240
|
<code class="ruby"> end</code>
|
|
1205
1241
|
</li>
|
|
1206
1242
|
|
|
1207
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1243
|
+
<li class="never" data-hits="" data-linenumber="86">
|
|
1208
1244
|
|
|
1209
1245
|
|
|
1210
1246
|
<code class="ruby"> end</code>
|
|
1211
1247
|
</li>
|
|
1212
1248
|
|
|
1213
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1249
|
+
<li class="never" data-hits="" data-linenumber="87">
|
|
1214
1250
|
|
|
1215
1251
|
|
|
1216
1252
|
<code class="ruby"> end</code>
|
|
1217
1253
|
</li>
|
|
1218
1254
|
|
|
1219
|
-
<li class="never" data-hits="" data-linenumber="
|
|
1255
|
+
<li class="never" data-hits="" data-linenumber="88">
|
|
1220
1256
|
|
|
1221
1257
|
|
|
1222
1258
|
<code class="ruby">end</code>
|
data/doc/BB.html
CHANGED
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
<dt id="VERSION-constant" class="">VERSION =
|
|
116
116
|
|
|
117
117
|
</dt>
|
|
118
|
-
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>3.1.
|
|
118
|
+
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>3.1.2</span><span class='tstring_end'>'</span></span></pre></dd>
|
|
119
119
|
|
|
120
120
|
</dl>
|
|
121
121
|
|
|
@@ -131,9 +131,9 @@
|
|
|
131
131
|
</div>
|
|
132
132
|
|
|
133
133
|
<div id="footer">
|
|
134
|
-
Generated on Sat May 14
|
|
134
|
+
Generated on Sat May 14 22:10:23 2016 by
|
|
135
135
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
136
|
-
0.8.7.6 (ruby-2.3.
|
|
136
|
+
0.8.7.6 (ruby-2.3.1).
|
|
137
137
|
</div>
|
|
138
138
|
|
|
139
139
|
</body>
|
data/doc/BB/Crypto.html
CHANGED
|
@@ -1132,9 +1132,9 @@
|
|
|
1132
1132
|
</div>
|
|
1133
1133
|
|
|
1134
1134
|
<div id="footer">
|
|
1135
|
-
Generated on Sat May 14
|
|
1135
|
+
Generated on Sat May 14 22:10:23 2016 by
|
|
1136
1136
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
1137
|
-
0.8.7.6 (ruby-2.3.
|
|
1137
|
+
0.8.7.6 (ruby-2.3.1).
|
|
1138
1138
|
</div>
|
|
1139
1139
|
|
|
1140
1140
|
</body>
|
data/doc/BB/Gem.html
CHANGED
|
@@ -332,7 +332,13 @@ version?</p>
|
|
|
332
332
|
76
|
|
333
333
|
77
|
|
334
334
|
78
|
|
335
|
-
79
|
|
335
|
+
79
|
|
336
|
+
80
|
|
337
|
+
81
|
|
338
|
+
82
|
|
339
|
+
83
|
|
340
|
+
84
|
|
341
|
+
85</pre>
|
|
336
342
|
</td>
|
|
337
343
|
<td>
|
|
338
344
|
<pre class="code"><span class="info file"># File 'lib/blackbox/gem.rb', line 21</span>
|
|
@@ -379,7 +385,13 @@ version?</p>
|
|
|
379
385
|
<span class='kw'>rescue</span>
|
|
380
386
|
<span class='id identifier rubyid_last_check_at'>last_check_at</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
|
381
387
|
<span class='kw'>end</span>
|
|
382
|
-
|
|
388
|
+
|
|
389
|
+
<span class='id identifier rubyid_ret'>ret</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span>
|
|
390
|
+
<span class='label'>last_checked_for_update:</span> <span class='id identifier rubyid_last_check_at'>last_check_at</span><span class='comma'>,</span>
|
|
391
|
+
<span class='label'>next_check_for_update:</span> <span class='id identifier rubyid_last_check_at'>last_check_at</span> <span class='op'>+</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:check_interval</span><span class='rbracket'>]</span>
|
|
392
|
+
<span class='rparen'>)</span>
|
|
393
|
+
|
|
394
|
+
<span class='kw'>return</span> <span class='id identifier rubyid_ret'>ret</span> <span class='kw'>if</span> <span class='id identifier rubyid_last_check_at'>last_check_at</span> <span class='op'>+</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:check_interval</span><span class='rbracket'>]</span> <span class='op'>></span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:force_check</span><span class='rbracket'>]</span>
|
|
383
395
|
|
|
384
396
|
<span class='id identifier rubyid_checker'>checker</span> <span class='op'>=</span> <span class='const'>GemUpdateChecker</span><span class='op'>::</span><span class='const'>Client</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_ret'>ret</span><span class='lbracket'>[</span><span class='symbol'>:gem_name</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_ret'>ret</span><span class='lbracket'>[</span><span class='symbol'>:gem_installed_version</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
|
385
397
|
<span class='id identifier rubyid_last_check_at'>last_check_at</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span>
|
|
@@ -392,7 +404,7 @@ version?</p>
|
|
|
392
404
|
<span class='label'>gem_update_available:</span> <span class='id identifier rubyid_checker'>checker</span><span class='period'>.</span><span class='id identifier rubyid_update_available'>update_available</span>
|
|
393
405
|
<span class='rparen'>)</span>
|
|
394
406
|
|
|
395
|
-
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_touch'>touch</span><span class='lparen'>(</span><span class='id identifier rubyid_statefile_path'>statefile_path</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_ret'>ret</span><span class='lbracket'>[</span><span class='symbol'>:installed_is_latest</span><span class='rbracket'>]</span>
|
|
407
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_touch'>touch</span><span class='lparen'>(</span><span class='id identifier rubyid_statefile_path'>statefile_path</span><span class='comma'>,</span> <span class='label'>mtime:</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_ret'>ret</span><span class='lbracket'>[</span><span class='symbol'>:installed_is_latest</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:force_check</span><span class='rbracket'>]</span>
|
|
396
408
|
|
|
397
409
|
<span class='id identifier rubyid_ret'>ret</span>
|
|
398
410
|
<span class='kw'>end</span></pre>
|
|
@@ -406,9 +418,9 @@ version?</p>
|
|
|
406
418
|
</div>
|
|
407
419
|
|
|
408
420
|
<div id="footer">
|
|
409
|
-
Generated on Sat May 14
|
|
421
|
+
Generated on Sat May 14 22:10:23 2016 by
|
|
410
422
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
411
|
-
0.8.7.6 (ruby-2.3.
|
|
423
|
+
0.8.7.6 (ruby-2.3.1).
|
|
412
424
|
</div>
|
|
413
425
|
|
|
414
426
|
</body>
|
data/doc/BB/Hash.html
CHANGED
|
@@ -432,9 +432,9 @@ BB::Hash.flatten_prop_style(input)
|
|
|
432
432
|
</div>
|
|
433
433
|
|
|
434
434
|
<div id="footer">
|
|
435
|
-
Generated on Sat May 14
|
|
435
|
+
Generated on Sat May 14 22:10:23 2016 by
|
|
436
436
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
437
|
-
0.8.7.6 (ruby-2.3.
|
|
437
|
+
0.8.7.6 (ruby-2.3.1).
|
|
438
438
|
</div>
|
|
439
439
|
|
|
440
440
|
</body>
|
data/doc/BB/Number.html
CHANGED
|
@@ -922,9 +922,9 @@ can customize the format in the <code>options</code> hash.</p>
|
|
|
922
922
|
</div>
|
|
923
923
|
|
|
924
924
|
<div id="footer">
|
|
925
|
-
Generated on Sat May 14
|
|
925
|
+
Generated on Sat May 14 22:10:23 2016 by
|
|
926
926
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
927
|
-
0.8.7.6 (ruby-2.3.
|
|
927
|
+
0.8.7.6 (ruby-2.3.1).
|
|
928
928
|
</div>
|
|
929
929
|
|
|
930
930
|
</body>
|
data/doc/BB/String.html
CHANGED
|
@@ -231,9 +231,9 @@
|
|
|
231
231
|
</div>
|
|
232
232
|
|
|
233
233
|
<div id="footer">
|
|
234
|
-
Generated on Sat May 14
|
|
234
|
+
Generated on Sat May 14 22:10:23 2016 by
|
|
235
235
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
236
|
-
0.8.7.6 (ruby-2.3.
|
|
236
|
+
0.8.7.6 (ruby-2.3.1).
|
|
237
237
|
</div>
|
|
238
238
|
|
|
239
239
|
</body>
|
data/doc/_index.html
CHANGED
|
@@ -176,9 +176,9 @@
|
|
|
176
176
|
</div>
|
|
177
177
|
|
|
178
178
|
<div id="footer">
|
|
179
|
-
Generated on Sat May 14
|
|
179
|
+
Generated on Sat May 14 22:10:23 2016 by
|
|
180
180
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
181
|
-
0.8.7.6 (ruby-2.3.
|
|
181
|
+
0.8.7.6 (ruby-2.3.1).
|
|
182
182
|
</div>
|
|
183
183
|
|
|
184
184
|
</body>
|
data/doc/file.README.html
CHANGED
|
@@ -95,9 +95,9 @@ BB::String.strip_ansi( ... )
|
|
|
95
95
|
</div></div>
|
|
96
96
|
|
|
97
97
|
<div id="footer">
|
|
98
|
-
Generated on Sat May 14
|
|
98
|
+
Generated on Sat May 14 22:10:23 2016 by
|
|
99
99
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
100
|
-
0.8.7.6 (ruby-2.3.
|
|
100
|
+
0.8.7.6 (ruby-2.3.1).
|
|
101
101
|
</div>
|
|
102
102
|
|
|
103
103
|
</body>
|
data/doc/index.html
CHANGED
|
@@ -95,9 +95,9 @@ BB::String.strip_ansi( ... )
|
|
|
95
95
|
</div></div>
|
|
96
96
|
|
|
97
97
|
<div id="footer">
|
|
98
|
-
Generated on Sat May 14
|
|
98
|
+
Generated on Sat May 14 22:10:23 2016 by
|
|
99
99
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
100
|
-
0.8.7.6 (ruby-2.3.
|
|
100
|
+
0.8.7.6 (ruby-2.3.1).
|
|
101
101
|
</div>
|
|
102
102
|
|
|
103
103
|
</body>
|
|
@@ -103,9 +103,9 @@
|
|
|
103
103
|
</div>
|
|
104
104
|
|
|
105
105
|
<div id="footer">
|
|
106
|
-
Generated on Sat May 14
|
|
106
|
+
Generated on Sat May 14 22:10:23 2016 by
|
|
107
107
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
108
|
-
0.8.7.6 (ruby-2.3.
|
|
108
|
+
0.8.7.6 (ruby-2.3.1).
|
|
109
109
|
</div>
|
|
110
110
|
|
|
111
111
|
</body>
|
data/lib/blackbox/gem.rb
CHANGED
|
@@ -60,7 +60,13 @@ module BB
|
|
|
60
60
|
rescue
|
|
61
61
|
last_check_at = Time.at(0)
|
|
62
62
|
end
|
|
63
|
-
|
|
63
|
+
|
|
64
|
+
ret.merge!(
|
|
65
|
+
last_checked_for_update: last_check_at,
|
|
66
|
+
next_check_for_update: last_check_at + opts[:check_interval]
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
return ret if last_check_at + opts[:check_interval] > Time.now && !opts[:force_check]
|
|
64
70
|
|
|
65
71
|
checker = GemUpdateChecker::Client.new(ret[:gem_name], ret[:gem_installed_version])
|
|
66
72
|
last_check_at = Time.now
|
|
@@ -73,7 +79,7 @@ module BB
|
|
|
73
79
|
gem_update_available: checker.update_available
|
|
74
80
|
)
|
|
75
81
|
|
|
76
|
-
FileUtils.touch(statefile_path) if ret[:installed_is_latest]
|
|
82
|
+
FileUtils.touch(statefile_path, mtime: Time.now) if ret[:installed_is_latest] || opts[:force_check]
|
|
77
83
|
|
|
78
84
|
ret
|
|
79
85
|
end
|
data/lib/blackbox/version.rb
CHANGED
data/spec/gem_spec.rb
CHANGED
|
@@ -5,26 +5,48 @@ require 'blackbox/gem'
|
|
|
5
5
|
|
|
6
6
|
describe BB::Gem do
|
|
7
7
|
describe '.version_info' do
|
|
8
|
+
before :each do
|
|
9
|
+
at = Time.parse('2015-10-21 00:00')
|
|
10
|
+
Timecop.freeze(at) do
|
|
11
|
+
BB::Gem.version_info(force_check: true)
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
8
15
|
it 'returns a well-formed Hash' do
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
at = Time.parse('2015-10-21 07:28')
|
|
17
|
+
Timecop.freeze(at) do
|
|
18
|
+
retval = BB::Gem.version_info
|
|
19
|
+
|
|
20
|
+
expect(retval).to be_a(Hash)
|
|
21
|
+
expect(retval.keys).to contain_exactly(
|
|
22
|
+
:gem_name,
|
|
23
|
+
:gem_installed_version,
|
|
24
|
+
:gem_latest_version,
|
|
25
|
+
:last_checked_for_update,
|
|
26
|
+
:next_check_for_update,
|
|
27
|
+
:installed_is_latest,
|
|
28
|
+
:gem_update_available
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
expect(retval).to include(
|
|
32
|
+
gem_name: 'blackbox'
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
expect(retval[:gem_installed_version]).not_to eq(:unknown)
|
|
36
|
+
expect(retval[:gem_latest_version]).not_to eq(:unknown)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it "does not run test before opt['check_interval'] has passed" do
|
|
41
|
+
at = Time.parse('2015-10-21 07:28')
|
|
42
|
+
Timecop.freeze(at) do
|
|
43
|
+
retval = BB::Gem.version_info(check_interval: 864_00)
|
|
44
|
+
expect(retval).to include(
|
|
45
|
+
next_check_for_update: Time.parse('2015-10-22 00:00'),
|
|
46
|
+
gem_latest_version: :unknown
|
|
47
|
+
|
|
48
|
+
)
|
|
49
|
+
end
|
|
28
50
|
end
|
|
29
51
|
|
|
30
52
|
it "schedules next check according to opt['check_interval']" do
|
|
@@ -39,10 +61,13 @@ describe BB::Gem do
|
|
|
39
61
|
|
|
40
62
|
it 'schedules no check when disabled via env var' do
|
|
41
63
|
ENV['BLACKBOX_DISABLE_VERSION_CHECK'] = '1'
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
64
|
+
at = Time.parse('2015-10-21 07:28')
|
|
65
|
+
Timecop.freeze(at) do
|
|
66
|
+
retval = BB::Gem.version_info(check_inverval: 60)
|
|
67
|
+
expect(retval).to include(
|
|
68
|
+
next_check_for_update: :never
|
|
69
|
+
)
|
|
70
|
+
end
|
|
46
71
|
end
|
|
47
72
|
end
|
|
48
73
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: blackbox
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.1.
|
|
4
|
+
version: 3.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Moe
|
|
@@ -189,6 +189,8 @@ files:
|
|
|
189
189
|
- ".gitignore"
|
|
190
190
|
- ".rspec"
|
|
191
191
|
- ".rubocop.yml"
|
|
192
|
+
- ".ruby-version"
|
|
193
|
+
- ".travis.yml"
|
|
192
194
|
- Gemfile
|
|
193
195
|
- Guardfile
|
|
194
196
|
- LICENSE.txt
|