comsat 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/lib/comsat/client.rb CHANGED
@@ -21,18 +21,20 @@ module Comsat
21
21
 
22
22
  def notify(route, msg={})
23
23
  message = msg.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
24
+
25
+ start = Time.now
26
+ Comsat.log(:fn => :notify, :route => "#{route}", :at => :start)
27
+ notify_route = @@routes.detect {|r| r.name == route } if message
28
+
24
29
  if notify_route.event_type
25
- event = notify_route
30
+ event = notify_route.event_type
26
31
  elsif message[:message_type]
27
32
  event = message[:message_type]
28
33
  else
29
34
  event = "notice"
30
35
  end
31
36
 
32
- start = Time.now
33
- Comsat.log(:fn => :notify, :route => "#{route}", :at => :start)
34
- notify_route = @@routes.detect {|r| r.name == route } if message
35
- notify_route.services.each do |svc|
37
+ notify_route.services[event].each do |svc|
36
38
  Comsat.log(:fn => :notify, :service => "#{svc.class.to_s.downcase}", :event => event)
37
39
  svc.send("send_#{event}".to_sym, message)
38
40
  end
data/lib/comsat/route.rb CHANGED
@@ -9,8 +9,7 @@ module Comsat
9
9
  @services = {
10
10
  "notice" => [],
11
11
  "alert" => [],
12
- "resolve" => [],
13
- "all" => []
12
+ "resolve" => []
14
13
  }
15
14
 
16
15
  urls.each do |url|
@@ -18,7 +17,9 @@ module Comsat
18
17
  if svc.respond_to?("send_#{@event_type}")
19
18
  @services[@event_type] << svc
20
19
  else
21
- @services["all"] << svc
20
+ @services.keys.each do |k|
21
+ @services[k] << svc
22
+ end
22
23
  end
23
24
  end
24
25
  end
@@ -1,3 +1,3 @@
1
1
  module Comsat
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
data/spec/client_spec.rb CHANGED
@@ -27,11 +27,11 @@ describe Comsat::Client do
27
27
  end
28
28
 
29
29
  it "should have one service initiated on the event_type 'notice'" do
30
- subject.routes.first.services["notice"].length.should == 1
30
+ subject.routes.first.services["notice"].compact.length.should == 1
31
31
  end
32
32
 
33
33
  it "should have a campfire service initiated" do
34
- subject.routes.first.services["notice"].first.class.should == Comsat::Campfire
34
+ subject.routes.first.services["notice"].compact.first.class.should == Comsat::Campfire
35
35
  end
36
36
 
37
37
  it "should provide an event type" do
@@ -53,7 +53,9 @@ describe Comsat::Client do
53
53
  end
54
54
 
55
55
  it "should have one service initiated on all event_types" do
56
- subject.routes.first.services["all"].length.should == 1
56
+ subject.routes.first.services["notice"].compact.length.should == 1
57
+ subject.routes.first.services["alert"].compact.length.should == 1
58
+ subject.routes.first.services["resolve"].compact.length.should == 1
57
59
  end
58
60
  end
59
61
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comsat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-04-18 00:00:00.000000000 Z
13
+ date: 2012-04-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rest-client
17
- requirement: &70239639975100 !ruby/object:Gem::Requirement
17
+ requirement: &70200113020040 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70239639975100
25
+ version_requirements: *70200113020040
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: scrolls
28
- requirement: &70239639974440 !ruby/object:Gem::Requirement
28
+ requirement: &70200113019260 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70239639974440
36
+ version_requirements: *70200113019260
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rake
39
- requirement: &70239639972620 !ruby/object:Gem::Requirement
39
+ requirement: &70200113017660 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *70239639972620
47
+ version_requirements: *70200113017660
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rspec
50
- requirement: &70239639971220 !ruby/object:Gem::Requirement
50
+ requirement: &70200113008300 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,7 +55,7 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *70239639971220
58
+ version_requirements: *70200113008300
59
59
  description: Notifications as a Gem
60
60
  email:
61
61
  - ops@heroku.com