trumpet-trumpet 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :minor: 1
3
- :patch: 0
3
+ :patch: 1
4
4
  :major: 0
@@ -19,5 +19,36 @@ module Trumpet
19
19
  !!Trumpet::Request.delete("/listeners/#{@id}", options)
20
20
  end
21
21
 
22
+ def receiver(options={})
23
+ @receiver ||= begin
24
+ options[:credentials] ||= @credentials
25
+ Trumpet::Receiver.new(Trumpet::Request.get("/receivers/#{receiver_id}", options))
26
+ end
27
+ end
28
+
29
+ def delivery_method
30
+ case URI.parse(uri).scheme
31
+ when 'mailto' then 'Email'
32
+ when 'tel' then 'SMS'
33
+ when 'twitter' then 'Twitter'
34
+ when 'irc' then 'IRC'
35
+ when 'im' then 'IM'
36
+ end
37
+ end
38
+
39
+ def delivery_address
40
+ case URI.parse(uri).scheme
41
+ when 'mailto' then URI.parse(uri).to
42
+ when 'tel' then URI.parse(uri).opaque
43
+ when 'twitter' then URI.parse(uri).opaque
44
+ when 'irc'
45
+ url = URI.parse(uri)
46
+ "#{url.host}##{url.fragment}"
47
+ when 'im'
48
+ url = URI.parse(uri)
49
+ "#{url.user}@#{url.host}"
50
+ end
51
+ end
52
+
22
53
  end
23
54
  end
@@ -1 +1 @@
1
- {"owner":"raddude","created_at":"2009/05/13 16:01:01 -0700","receiver_id":1,"schedule":{"end":null,"start":null,"days":null},"id":1,"updated_at":"2009/05/13 16:01:01 -0700","uri":"mailto:\/\/someraddude@mailinator.com"}
1
+ {"owner":"raddude","created_at":"2009/05/13 16:01:01 -0700","receiver_id":1,"schedule":{"end":null,"start":null,"days":null},"id":1,"updated_at":"2009/05/13 16:01:01 -0700","uri":"mailto:someraddude@mailinator.com"}
@@ -1 +1 @@
1
- {"owner":"raddude","created_at":"2009/05/13 16:01:01 -0700","receiver_id":1,"schedule":{"end":null,"start":null,"days":null},"id":1,"updated_at":"2009/05/13 16:01:01 -0700","uri":"mailto:\/\/someraddude@mailinator.com"}
1
+ {"owner":"raddude","created_at":"2009/05/13 16:01:01 -0700","receiver_id":1,"schedule":{"end":null,"start":null,"days":null},"id":1,"updated_at":"2009/05/13 16:01:01 -0700","uri":"mailto:someraddude@mailinator.com"}
@@ -0,0 +1 @@
1
+ {"owner":"raddude","created_at":"2009/05/13 16:01:01 -0700","receiver_id":1,"schedule":{"end":null,"start":null,"days":null},"id":1,"updated_at":"2009/05/13 16:01:01 -0700","uri":"im://somedude@mailinator.com"}
@@ -0,0 +1 @@
1
+ {"owner":"raddude","created_at":"2009/05/13 16:01:01 -0700","receiver_id":1,"schedule":{"end":null,"start":null,"days":null},"id":1,"updated_at":"2009/05/13 16:01:01 -0700","uri":"irc://irc.trumpet.io#raddudes"}
@@ -0,0 +1 @@
1
+ {"owner":"raddude","created_at":"2009/05/13 16:01:01 -0700","receiver_id":1,"schedule":{"end":null,"start":null,"days":null},"id":1,"updated_at":"2009/05/13 16:01:01 -0700","uri":"tel:15555555555"}
@@ -0,0 +1 @@
1
+ {"owner":"raddude","created_at":"2009/05/13 16:01:01 -0700","receiver_id":1,"schedule":{"end":null,"start":null,"days":null},"id":1,"updated_at":"2009/05/13 16:01:01 -0700","uri":"twitter:twitterdude"}
@@ -7,21 +7,51 @@ describe "Listener" do
7
7
 
8
8
  FakeWeb.register_uri :post, "#{AUTHENTICATED_URI}/receivers/1/listeners", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/create"
9
9
  FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/listeners/1", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/find"
10
+ FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/listeners/2", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/sms"
11
+ FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/listeners/3", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/irc"
12
+ FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/listeners/4", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/im"
13
+ FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/listeners/5", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/twitter"
10
14
  FakeWeb.register_uri :delete, "#{AUTHENTICATED_URI}/listeners/1", :string => ["204", "OK"]
11
15
  end
12
16
 
13
17
  it "should let me create a listener" do
14
18
  listener = @trumpet.listeners.create :receiver_id => 1, :uri => 'mailto://someraddude@mailinator.com'
15
- listener.uri.should == 'mailto://someraddude@mailinator.com'
19
+ listener.uri.should == 'mailto:someraddude@mailinator.com'
16
20
  end
17
21
 
18
22
  it "should let me find an existing listener" do
19
23
  listener = @trumpet.listeners.find(1)
20
- listener.uri.should == 'mailto://someraddude@mailinator.com'
24
+ listener.uri.should == 'mailto:someraddude@mailinator.com'
21
25
  end
22
26
 
23
27
  it "should let me delete an existing listener" do
24
28
  listener = @trumpet.listeners.find(1)
25
29
  listener.delete.should == true
26
30
  end
31
+
32
+ it "should be able to describe it's delivery method" do
33
+ email_listener = @trumpet.listeners.find(1)
34
+ email_listener.delivery_method.should == 'Email'
35
+ email_listener.delivery_address.should == 'someraddude@mailinator.com'
36
+
37
+ sms_listener = @trumpet.listeners.find(2)
38
+ sms_listener.delivery_method.should == 'SMS'
39
+ sms_listener.delivery_address.should == '15555555555'
40
+
41
+ irc_listener = @trumpet.listeners.find(3)
42
+ irc_listener.delivery_method.should == 'IRC'
43
+ irc_listener.delivery_address.should == 'irc.trumpet.io#raddudes'
44
+
45
+ im_listener = @trumpet.listeners.find(4)
46
+ im_listener.delivery_method.should == 'IM'
47
+ im_listener.delivery_address.should == 'somedude@mailinator.com'
48
+
49
+ twitter_listener = @trumpet.listeners.find(5)
50
+ twitter_listener.delivery_method.should == 'Twitter'
51
+ twitter_listener.delivery_address.should == 'twitterdude'
52
+ end
53
+
54
+ it "should be able to describe it's delivery address" do
55
+
56
+ end
27
57
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trumpet-trumpet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Taras
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-14 00:00:00 -07:00
12
+ date: 2009-05-15 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -67,6 +67,10 @@ files:
67
67
  - spec/fixtures/channels/show
68
68
  - spec/fixtures/listeners/create
69
69
  - spec/fixtures/listeners/find
70
+ - spec/fixtures/listeners/im
71
+ - spec/fixtures/listeners/irc
72
+ - spec/fixtures/listeners/sms
73
+ - spec/fixtures/listeners/twitter
70
74
  - spec/fixtures/receivers/create
71
75
  - spec/fixtures/receivers/find
72
76
  - spec/fixtures/receivers/messages