Pulse 1.3.2 → 1.3.3

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.
@@ -2,11 +2,10 @@
2
2
 
3
3
  module Pulse
4
4
  class Script < Module
5
-
6
5
  attr_accessor :name, :author, :version, :path
7
6
 
8
7
  def initialize path, client
9
- @path, @client = path, client
8
+ @path, @client, @timers = path, client, []
10
9
  @loaded = false
11
10
 
12
11
  evaluate_script
@@ -45,11 +44,18 @@ module Pulse
45
44
 
46
45
  def cache; @cache ||= Cache.new self end
47
46
 
47
+ def timer options = {}, &block
48
+ Timer.new(options, &block).tap do |this|
49
+ @timers << this
50
+ this.start
51
+ end
52
+ end
53
+
48
54
  private
49
55
 
50
56
  def evaluate_script
51
57
  @loaded = true if module_eval File.read(@path), File.basename(@path), 0
52
- rescue
58
+ rescue Exception
53
59
  puts "Parse error: #{$!.message}"
54
60
  end
55
61
 
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Pulse
4
- class Script
4
+ class Script < Module
5
5
  class Cache
6
6
  def initialize script
7
7
  @script = script
@@ -24,6 +24,7 @@ module Pulse
24
24
  end
25
25
  rescue
26
26
  puts "The cache is corrupted. Removing."
27
+
27
28
  File.unlink path
28
29
  end
29
30
 
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+
3
+ module Pulse
4
+ class Script < Module
5
+ class Timer
6
+ def initialize options = {}, &block
7
+ @delay = options[:in] or 1.0
8
+ @callback = block if block_given?
9
+ end
10
+
11
+ def start
12
+ @thread ||= Thread.new do
13
+ loop { @callback.call; sleep @delay }
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 3
8
- - 2
9
- version: 1.3.2
8
+ - 3
9
+ version: 1.3.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Mikkel Kroman
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: executables
15
15
  cert_chain: []
16
16
 
17
- date: 2010-12-16 00:00:00 +01:00
17
+ date: 2010-12-29 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies: []
20
20
 
@@ -27,18 +27,19 @@ extensions: []
27
27
  extra_rdoc_files: []
28
28
 
29
29
  files:
30
+ - library/pulse/channel.rb
30
31
  - library/pulse/client.rb
31
- - library/pulse/handling.rb
32
+ - library/pulse/command.rb
32
33
  - library/pulse/connection.rb
33
- - library/pulse/script.rb
34
+ - library/pulse/conversation.rb
35
+ - library/pulse/enhancements.rb
36
+ - library/pulse/handling.rb
34
37
  - library/pulse/queue.rb
35
- - library/pulse/command.rb
36
- - library/pulse/settings.rb
37
38
  - library/pulse/script/cache.rb
39
+ - library/pulse/script/timer.rb
40
+ - library/pulse/script.rb
41
+ - library/pulse/settings.rb
38
42
  - library/pulse/user.rb
39
- - library/pulse/conversation.rb
40
- - library/pulse/channel.rb
41
- - library/pulse/enhancements.rb
42
43
  - library/pulse.rb
43
44
  has_rdoc: true
44
45
  homepage: