bite_the_dust 0.0.1 → 0.0.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/README.md +6 -1
- data/bite_the_dust.gemspec +1 -1
- data/lib/bite_the_dust.rb +10 -13
- data/lib/bite_the_dust/version.rb +1 -1
- data/test/test_bite_the_dust.rb +13 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3f146b8cdb1bfa23e50f7f83590af8c79eb8eda
|
4
|
+
data.tar.gz: 8843ca291e23acdbb087de6f073f219cbb678d9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 276bd5e471a394febc2d4338e882fe417a952b5de6f0f768366f62d4f995b031dcbaf975585d52f9303ac296605b56cc05d56f3bd14fc743550d318ba27d0830
|
7
|
+
data.tar.gz: 6c8e668bcca84cc6926c85820d1d9fc02d0c6eff0eddd675acc6fb0771d3ffc1ae69d5c17cb3bdc09548d17239f426e820d92ad33923326bd0517dfae8bb752f
|
data/README.md
CHANGED
data/bite_the_dust.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["kunio038@gmail.com"]
|
11
11
|
spec.description = %q{Fire something when the specified time arrives.}
|
12
12
|
spec.summary = %q{Fire something on time.}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/zakuni/bite_the_dust"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
data/lib/bite_the_dust.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
require "eventmachine"
|
2
2
|
require "bite_the_dust/version"
|
3
3
|
|
4
|
+
BTD = BiteTheDust
|
4
5
|
module BiteTheDust
|
5
6
|
def future?(time)
|
6
7
|
Time.now < time
|
7
8
|
end
|
8
9
|
|
9
|
-
def countdown(sec,
|
10
|
+
def countdown(sec, &block)
|
10
11
|
EM.run do
|
11
|
-
EM.add_timer(
|
12
|
-
|
13
|
-
|
14
|
-
EM.stop_event_loop
|
12
|
+
EM.add_timer(sec) do
|
13
|
+
EM.stop_event_loop
|
14
|
+
return block.call
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
@@ -28,24 +28,21 @@ module BiteTheDust
|
|
28
28
|
@now < @time
|
29
29
|
end
|
30
30
|
|
31
|
-
def set_timer(
|
31
|
+
def set_timer(&block)
|
32
32
|
if future? then
|
33
33
|
begin
|
34
34
|
num_of_seconds = @time - Time.now
|
35
35
|
EM.run do
|
36
36
|
EM.add_timer(num_of_seconds.to_i) do
|
37
|
-
|
38
|
-
|
39
|
-
EM.stop_event_loop
|
37
|
+
EM.stop_event_loop
|
38
|
+
return block.call
|
40
39
|
end
|
41
40
|
end
|
42
|
-
true
|
43
41
|
rescue RangeError
|
44
|
-
|
45
|
-
false
|
42
|
+
raise RangeError, "Time too far"
|
46
43
|
end
|
47
44
|
else
|
48
|
-
|
45
|
+
return block.call
|
49
46
|
end
|
50
47
|
end
|
51
48
|
end
|
data/test/test_bite_the_dust.rb
CHANGED
@@ -6,17 +6,22 @@ class TestBiteTheDust < MiniTest::Unit::TestCase
|
|
6
6
|
def setup
|
7
7
|
@bitethedust = BiteTheDust::BiteTheDust.new(Time.now+5)
|
8
8
|
@future = Time.new(2100-01-01)
|
9
|
-
@past
|
9
|
+
@past = Time.new(1900-01-01)
|
10
|
+
@btd_future = BiteTheDust::BiteTheDust.new(@future)
|
11
|
+
@btd_past = BiteTheDust::BiteTheDust.new(@past)
|
10
12
|
end
|
11
13
|
|
12
14
|
def test_self_future?
|
13
15
|
assert_respond_to BiteTheDust, :future?
|
16
|
+
assert_respond_to BTD, :future?
|
14
17
|
assert BiteTheDust.future?(@future)
|
15
18
|
refute BiteTheDust.future?(@past)
|
16
19
|
end
|
17
20
|
|
18
21
|
def test_self_countdown
|
19
22
|
assert_respond_to BiteTheDust, :countdown
|
23
|
+
assert_respond_to BTD, :countdown
|
24
|
+
assert_equal "done", BiteTheDust.countdown(2){|n| "done"}
|
20
25
|
end
|
21
26
|
|
22
27
|
def test_initialize
|
@@ -26,12 +31,16 @@ class TestBiteTheDust < MiniTest::Unit::TestCase
|
|
26
31
|
|
27
32
|
def test_future?
|
28
33
|
assert_respond_to(@bitethedust, :future?)
|
29
|
-
assert
|
30
|
-
refute
|
34
|
+
assert @btd_future.future?
|
35
|
+
refute @btd_past.future?
|
31
36
|
end
|
32
37
|
|
33
38
|
def test_set_timer
|
34
39
|
assert_respond_to(@bitethedust, :set_timer)
|
35
|
-
|
40
|
+
assert_equal "done", @bitethedust.set_timer {|n| "done"}
|
41
|
+
assert_equal "done", @btd_past.set_timer {|n| "done"}
|
42
|
+
assert_raises RangeError do
|
43
|
+
@btd_future.set_timer {|n| "done"}
|
44
|
+
end
|
36
45
|
end
|
37
46
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bite_the_dust
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zakuni
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|
@@ -129,7 +129,7 @@ files:
|
|
129
129
|
- lib/bite_the_dust/version.rb
|
130
130
|
- test/test_bite_the_dust.rb
|
131
131
|
- test/test_helper.rb
|
132
|
-
homepage:
|
132
|
+
homepage: https://github.com/zakuni/bite_the_dust
|
133
133
|
licenses:
|
134
134
|
- MIT
|
135
135
|
metadata: {}
|