bite_the_dust 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 10345e9e4a1591c8648a655f77593630d7366a6a
4
- data.tar.gz: 2d41e741491c44fcb99e3edb5a86a1bc8a80a652
3
+ metadata.gz: f3f146b8cdb1bfa23e50f7f83590af8c79eb8eda
4
+ data.tar.gz: 8843ca291e23acdbb087de6f073f219cbb678d9c
5
5
  SHA512:
6
- metadata.gz: 1280300e16283c15fecd7fca087cd7396e5e5b6fa8ad9f4446d9fd8dede217991725d681a91568c7ded08ef3a62e19008542a40dcbf0f51d62365192ad6725e9
7
- data.tar.gz: aab5945f2a18f59b22afc63e1180071cec6121ded6837b0b7d49fa3c68ffa7a4330ec945029cb5fc63ca1066dc85cf34b45de60808649454383f3d91c2c353e0
6
+ metadata.gz: 276bd5e471a394febc2d4338e882fe417a952b5de6f0f768366f62d4f995b031dcbaf975585d52f9303ac296605b56cc05d56f3bd14fc743550d318ba27d0830
7
+ data.tar.gz: 6c8e668bcca84cc6926c85820d1d9fc02d0c6eff0eddd675acc6fb0771d3ffc1ae69d5c17cb3bdc09548d17239f426e820d92ad33923326bd0517dfae8bb752f
data/README.md CHANGED
@@ -18,7 +18,12 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- TODO: Write usage instructions here
21
+ ```ruby
22
+ require 'bite_the_dust'
23
+
24
+ # output "done" after 5 seconds.
25
+ BTD.countdown(5){|n| puts "done"}
26
+ ```
22
27
 
23
28
  ## Contributing
24
29
 
@@ -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($/)
@@ -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, function)
10
+ def countdown(sec, &block)
10
11
  EM.run do
11
- EM.add_timer(num_of_seconds.to_i) do
12
- function.call
13
- yield if block_given?
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(function)
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
- function.call
38
- yield if block_given?
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
- puts "Time too far"
45
- false
42
+ raise RangeError, "Time too far"
46
43
  end
47
44
  else
48
- false
45
+ return block.call
49
46
  end
50
47
  end
51
48
  end
@@ -1,3 +1,3 @@
1
1
  module BiteTheDust
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -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 = Time.new(1900-01-01)
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 BiteTheDust::BiteTheDust.new(@future).future?
30
- refute BiteTheDust::BiteTheDust.new(@past).future?
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
- assert @bitethedust.set_timer(lambda{puts "done"})
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.1
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-21 00:00:00.000000000 Z
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: {}