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