signals 1.2.0 → 1.3.0

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