signals 1.2.0 → 1.3.0

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: d184e121a283a392bf65f084d9b524050b452f7e
4
- data.tar.gz: 1ebd618e86240f84f89f34f9351d919252dd2dd7
3
+ metadata.gz: e78f968682caaa22dba7a81da04b2d45ef10cce1
4
+ data.tar.gz: 507f67b4b4d95f232c3986a3aae240f2d9ca7367
5
5
  SHA512:
6
- metadata.gz: b00a3fb13c422e2262965f7a2f86026bc125e503e111f7bb2b1c5bef9b04eeb96e11aae77080a018cdbc9af033451e2f1c71aac6e8dca3cbd31747f577c8b4f4
7
- data.tar.gz: def7c455d015514349fe401411ae1080615eb3d5f89ed2f1b48fae4ac4d2dbd106c1aedf2a372affec6c6878a0f7d467ce5608085679078d00f84351d7c37799
6
+ metadata.gz: e232c0d166d50bc27c55e2ccb3747fb7d6a5be83cef9f6da52e5141ef89e09b50354683c872fcf677069a2dcd251d2438fdb4348e345460aad61611b049427eb
7
+ data.tar.gz: 8269fe71caec4937502132c7a45162ce6172aad86e02619c82683e515540cd736280ba3ca4e340a8d03b2b853c37165c03d2ab7233ae7e1549fdbb9cf87d40fb
data/.travis.yml CHANGED
@@ -2,3 +2,5 @@ language: ruby
2
2
  rvm:
3
3
  - 2.0.0
4
4
  - 1.9.3
5
+ notifications:
6
+ irc: "chat.freenode.net#warmwaffles"
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # Signals
2
2
 
3
+ [![Build Status](https://travis-ci.org/warmwaffles/signals.png?branch=master)](https://travis-ci.org/warmwaffles/signals)
3
4
  [![Code Climate](https://codeclimate.com/github/warmwaffles/signals.png)](https://codeclimate.com/github/warmwaffles/signals)
4
5
 
5
6
  A light weight publish / subscribe. It is similar to how the Wisper gem works.
@@ -8,36 +8,29 @@ module Signals
8
8
 
9
9
  module InstanceMethods
10
10
  # Broadcasts an event to all of the subscribed listeners
11
- # @return [void]
12
11
  def broadcast(event, *args)
13
12
  listeners.each do |listener|
14
13
  listener.call(event, *args)
15
14
  end
16
- nil
15
+ args.one? ? args.first : args
17
16
  end
18
17
 
19
18
  # Creates a one off listener that will respond to the event provided only
20
19
  # @param [Object] event the event that is triggered
21
- # @return [void]
22
20
  def on(event, &block)
23
21
  listeners.add(BlockListener.new(event, &block))
24
- nil
25
22
  end
26
23
 
27
24
  # Subscribe a listener to the publisher
28
25
  # @param [Object] listener
29
- # @return [void]
30
26
  def subscribe(listener)
31
27
  listeners.add(listener)
32
- nil
33
28
  end
34
29
 
35
30
  # Unsubscribe a listener from the publisher
36
31
  # @param [Object] listener
37
- # @return [void]
38
32
  def unsubscribe(listener)
39
33
  listeners.delete(listener)
40
- nil
41
34
  end
42
35
 
43
36
  # All of the listeners subscribed to a publisher
@@ -69,23 +69,21 @@ module Signals
69
69
  self.send(action, *args) if self.respond_to?(action)
70
70
  end
71
71
  end
72
- nil
72
+ args.one? ? args.first : args
73
73
  end
74
74
 
75
75
  # Disables an event temporarily
76
76
  # @param [Symbol] event
77
- # @return [void]
78
77
  def disable_event(event)
79
78
  disabled_events.add(event)
80
- nil
79
+ self
81
80
  end
82
81
 
83
82
  # Enables an event that was disabled
84
83
  # @param [Symbol] event
85
- # @return [void]
86
84
  def enable_event(event)
87
85
  disabled_events.delete(event)
88
- nil
86
+ self
89
87
  end
90
88
 
91
89
  # Checks to see if the event is disabled
@@ -1,3 +1,3 @@
1
1
  module Signals
2
- VERSION = "1.2.0"
2
+ VERSION = "1.3.0"
3
3
  end
data/signals.gemspec CHANGED
@@ -21,6 +21,4 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
23
  spec.add_development_dependency "rspec", "2.14.0"
24
- spec.add_development_dependency "simplecov"
25
-
26
24
  end
@@ -3,31 +3,24 @@ require 'spec_helper'
3
3
  describe Signals::BlockListener do
4
4
 
5
5
  describe '#call' do
6
+ before :each do
7
+ @block = Signals::BlockListener.new(:testing)
8
+ @block.stub(listener: double('lambda', call: true))
9
+ end
10
+
6
11
  it 'should execute the event it was registered for' do
7
- block = Signals::BlockListener.new(:testing)
8
- block.stub(listener: double('lambda', call: true))
9
-
10
- block.call(:testing)
11
-
12
- block.listener.should have_received(:call).once
12
+ @block.call(:testing)
13
+ @block.listener.should have_received(:call).once
13
14
  end
14
15
 
15
16
  it 'should not execute when the event does not match' do
16
- block = Signals::BlockListener.new(:testing)
17
- block.stub(listener: double('lambda', call: true))
18
-
19
- block.call(:another)
20
-
21
- block.listener.should_not have_received(:call)
17
+ @block.call(:another)
18
+ @block.listener.should_not have_received(:call)
22
19
  end
23
20
 
24
21
  it 'should pass parameters on to the proc' do
25
- block = Signals::BlockListener.new(:testing)
26
- block.stub(listener: double('lambda', call: true))
27
-
28
- block.call(:testing, 1, 2)
29
-
30
- block.listener.should have_received(:call).with(1,2).once
22
+ @block.call(:testing, 1, 2)
23
+ @block.listener.should have_received(:call).with(1,2).once
31
24
  end
32
25
  end
33
26
 
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,3 @@
1
- require 'simplecov'
2
-
3
- SimpleCov.start do
4
- add_group "Signals", "/lib"
5
- end
6
-
7
1
  require 'rspec'
8
2
  require 'signals'
9
3
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: signals
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Johnston
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-20 00:00:00.000000000 Z
11
+ date: 2014-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.14.0
55
- - !ruby/object:Gem::Dependency
56
- name: simplecov
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
55
  description: A lightweight publish / subscribe library
70
56
  email:
71
57
  - warmwaffles@gmail.com
@@ -112,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
98
  version: '0'
113
99
  requirements: []
114
100
  rubyforge_project:
115
- rubygems_version: 2.0.5
101
+ rubygems_version: 2.1.11
116
102
  signing_key:
117
103
  specification_version: 4
118
104
  summary: A lightweight publish / subscribe library