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 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: {}