sub_pub 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sub_pub (0.0.7)
4
+ sub_pub (0.0.10)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -15,6 +15,14 @@ module SubPub
15
15
  @callback_name
16
16
  end
17
17
 
18
+ def callback_name
19
+ self.class.callback_name
20
+ end
21
+
22
+ def model_name
23
+ self.class.model_name
24
+ end
25
+
18
26
  def record
19
27
  options[:record]
20
28
  end
@@ -3,15 +3,13 @@ module SubPub
3
3
  attr_reader :options
4
4
  alias :payload :options
5
5
 
6
- def initialize(options)
6
+ def initialize(options={})
7
7
  @options = options
8
8
  end
9
9
 
10
10
  def self.subscribe_to(topic_name)
11
- klass = self
12
-
13
11
  @subscription = SubPub.subscribe(topic_name) do |topic, options|
14
- publish(klass.new(options))
12
+ publish(new(options))
15
13
  end
16
14
  end
17
15
 
@@ -31,6 +29,10 @@ module SubPub
31
29
  topic
32
30
  end
33
31
 
32
+ def topic_name
33
+ self.class.topic_name
34
+ end
35
+
34
36
  def on_publish
35
37
  raise "Please define an on_publish method for #{self.class.name}"
36
38
  end
@@ -1,3 +1,3 @@
1
1
  module SubPub
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
@@ -28,7 +28,7 @@ module SubPub
28
28
  end
29
29
 
30
30
  def matches?(subject)
31
- @expected.name.should == subject.model_name
31
+ subject.model_name.should == @expected.name
32
32
  end
33
33
  end
34
34
 
@@ -38,7 +38,7 @@ module SubPub
38
38
  end
39
39
 
40
40
  def matches?(subject)
41
- @expected.should == subject.callback_name
41
+ subject.callback_name.should == @expected
42
42
  end
43
43
  end
44
44
  end
Binary file
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe "active record matchers" do
4
+ class FakeUser
5
+ end
6
+
7
+ class FoozBarz < SubPub::ActiveRecord::Subscriber
8
+ subscribe_to(FakeUser, 'after_create')
9
+ end
10
+
11
+ describe FoozBarz do
12
+ it { should subscribe_to_model(FakeUser) }
13
+ it { should subscribe_to_callback('after_create') }
14
+ end
15
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ class Blaz < SubPub::Subscriber
4
+ subscribe_to('fooobar')
5
+ end
6
+
7
+ describe Blaz do
8
+ it { should subscribe_to_topic('fooobar') }
9
+ end
@@ -14,4 +14,10 @@ describe SubPub::Subscriber do
14
14
 
15
15
  it { should subscribe_to_topic('foo_bar_topic') }
16
16
  end
17
+
18
+ describe "#topic_name" do
19
+ it "returns the name of the topic sent to subscribe_to" do
20
+ Bazero.new.topic_name.should == 'foo_bar_topic'
21
+ end
22
+ end
17
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sub_pub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-22 00:00:00.000000000 Z
12
+ date: 2013-01-04 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: In process publish/subscribe for Ruby
15
15
  email:
@@ -41,9 +41,12 @@ files:
41
41
  - pkg/sub_pub-0.0.6.gem
42
42
  - pkg/sub_pub-0.0.7.gem
43
43
  - pkg/sub_pub-0.0.8.gem
44
+ - pkg/sub_pub-0.0.9.gem
44
45
  - spec/integration/sub_pub_spec.rb
45
46
  - spec/spec_helper.rb
47
+ - spec/unit/active_record_matchers_spec.rb
46
48
  - spec/unit/active_record_subscriber_spec.rb
49
+ - spec/unit/matchers_spec.rb
47
50
  - spec/unit/register_spec.rb
48
51
  - spec/unit/subscriber_spec.rb
49
52
  - sub_pub.gemspec
@@ -59,15 +62,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
59
62
  - - ! '>='
60
63
  - !ruby/object:Gem::Version
61
64
  version: '0'
65
+ segments:
66
+ - 0
67
+ hash: -3975189905250384298
62
68
  required_rubygems_version: !ruby/object:Gem::Requirement
63
69
  none: false
64
70
  requirements:
65
71
  - - ! '>='
66
72
  - !ruby/object:Gem::Version
67
73
  version: '0'
74
+ segments:
75
+ - 0
76
+ hash: -3975189905250384298
68
77
  requirements: []
69
78
  rubyforge_project:
70
- rubygems_version: 1.8.23
79
+ rubygems_version: 1.8.24
71
80
  signing_key:
72
81
  specification_version: 3
73
82
  summary: SubPub is a thin wrapper around ActiveSupport::Notifications, which provides
@@ -75,6 +84,8 @@ summary: SubPub is a thin wrapper around ActiveSupport::Notifications, which pro
75
84
  test_files:
76
85
  - spec/integration/sub_pub_spec.rb
77
86
  - spec/spec_helper.rb
87
+ - spec/unit/active_record_matchers_spec.rb
78
88
  - spec/unit/active_record_subscriber_spec.rb
89
+ - spec/unit/matchers_spec.rb
79
90
  - spec/unit/register_spec.rb
80
91
  - spec/unit/subscriber_spec.rb