zonebie-info 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- N2U2ZWJkNjBmZDE4YzYyN2RiZGM2Nzc0ZGFlZjExNGJiZGExZDhiNg==
4
+ YTk2ZDA5NjQwYjc5ZjAxYmVkYjlkNDQ1YjVhMWVhZmRhZDQzZjFmYQ==
5
5
  data.tar.gz: !binary |-
6
- YzIxYTk0ZjZiMDQxMjM3OTM1YTRkNGEzNTQ5NDcwM2YxYzQzMmI1Yg==
6
+ M2M4NmM5NWI0ZjVjZjcwODgyNGNlZGVhY2RkM2NlZjM5MTMxZGU2OA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NTM3ZjNiOTI2NDYxYzdlNjdjNWEwOWZlN2EyOWZkMmM2OGMyMmU4M2RhYmVj
10
- MDMwMzYyNWYwZTcyZjJlYjg3MmVlMzBiM2ZlOTMzNzY3Y2VhMDY2MDkxOGZl
11
- ZGU0OTkyOTExM2M5NmNmODlmYzhmODI0ZDljYzQ3OTM4NmNlZTc=
9
+ MjViYjE2NmExYWVjNGJiNmQxNzgyOTdmOTAxOGRiN2JkN2YzOTVjOTYyMTgw
10
+ OTYzYTBmYjg0YzBlZjY4MWMwYThjNDk1ZDE5MWY3YWZlMTMwOTMzOTlkYjY4
11
+ ZGZhNjY3NzUwYTBkMWIzMzg5Njc1YWI1YmJkNTk0YzI5NzMxOWU=
12
12
  data.tar.gz: !binary |-
13
- YzBhNTcxZjZmNDRlMzhmYjJiNmQxNDdjZWQ3MmVmZDJmMjg0NDQ0NmRkMTA2
14
- N2RkMGI4NjBmYTI0MWNmMGQ4OWMzYTgzMDcyNGEwN2E0NjY3NjU5OGY5NzY1
15
- NjJhZThiZjY0YjY2MDIwZjEwZWVkYmE3NjgyNDAyNDI1ODAzNWM=
13
+ ODk5MTllYTk2ZTEwODI4ZDMxOWVmNzdmNmJiNTE4NTBiODgxNmZmNzgyMmE3
14
+ NjZjOWI1YmY5NzA4MzNiM2QzMmFiMzI3YmM5ODllOTA1YzRjMmIyODY2Mzdi
15
+ OTYxYzUxYTBlY2NiYzQ2OTYzZTM4N2UwNzY4OTkwYzhlZjhkOTA=
@@ -1,5 +1,5 @@
1
1
  module Zonebie
2
2
  module Info
3
- VERSION = '0.0.7'
3
+ VERSION = '0.0.8'
4
4
  end
5
5
  end
data/lib/zonebie/info.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'zonebie'
2
2
  require 'wikipedia'
3
+ require 'byebug'
3
4
 
4
5
  module Zonebie
5
6
  class << self
@@ -15,11 +16,14 @@ module Zonebie
15
16
  end
16
17
 
17
18
  def print_timezone_info
18
- case @request
19
- when nil
19
+ if @request.nil?
20
20
  $stderr.puts '', 'Please set the ZONEBIE_INFO environment variable to load data from Wikipedia'
21
21
  else
22
- $stdout.puts '', @request.join.value
22
+ if @request.alive?
23
+ $stderr.puts '', 'Wikipedia download did not complete in time, please check your network connection and try again later'
24
+ else
25
+ $stdout.puts '', @request.join.value
26
+ end
23
27
  end
24
28
  end
25
29
 
@@ -21,6 +21,7 @@ describe '#print_timezone_info' do
21
21
  end
22
22
 
23
23
  it 'prints info about the time zone to stdout' do
24
+ sleep 0.01
24
25
  Zonebie.print_timezone_info
25
26
  out.rewind
26
27
  expect(out.read).to eq expected
@@ -64,8 +64,29 @@ describe Zonebie do
64
64
  end
65
65
  end
66
66
 
67
+ context 'when the request has not completed in time' do
68
+ let(:message) do
69
+ 'Wikipedia download did not complete in time, please check your network connection and try again later'
70
+ end
71
+ let(:t) { Thread.new { sleep 1000 } }
72
+
73
+ before do
74
+ Zonebie.instance_variable_set('@request', t)
75
+ $stderr = out
76
+ end
77
+
78
+ after do
79
+ $stderr = STDERR
80
+ end
81
+ it 'informs the user the request did not finish in time' do
82
+ Zonebie.print_timezone_info
83
+ out.rewind
84
+ expect(out.read).to eq "\n#{message}\n"
85
+ end
86
+ end
87
+
67
88
  context 'when the request succeeds' do
68
- let(:t) { Thread.new { 'hello' } }
89
+ let!(:t) { Thread.new { 'hello' } }
69
90
 
70
91
  before do
71
92
  Zonebie.instance_variable_set '@request', t
@@ -77,6 +98,7 @@ describe Zonebie do
77
98
  end
78
99
 
79
100
  it 'prints the info from wikipedia' do
101
+ sleep 0.001 # Allow the thread to complete
80
102
  Zonebie.print_timezone_info
81
103
  out.rewind
82
104
  expect(out.read).to eq "\nhello\n"
data/zonebie-info.gemspec CHANGED
@@ -21,4 +21,5 @@ Gem::Specification.new do |gem|
21
21
  gem.add_development_dependency 'rspec', '~> 3.0', '>= 3.0.0'
22
22
  gem.add_development_dependency 'rubocop', '~> 0.34', '>= 0.34.1'
23
23
  gem.add_development_dependency 'simplecov', '~> 0.10', '>= 0.10.0'
24
+ gem.add_development_dependency 'byebug'
24
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zonebie-info
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Bowden
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-14 00:00:00.000000000 Z
11
+ date: 2015-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zonebie
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - ! '>='
151
151
  - !ruby/object:Gem::Version
152
152
  version: 0.10.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: byebug
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
153
167
  description: Downloads the first paragraph from wikipedia about the randomly set timezone
154
168
  email:
155
169
  - tom.b1992@gmail.com