trumpet-trumpet 0.1.1 → 0.1.2

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: 1
3
+ :patch: 2
4
4
  :major: 0
@@ -17,6 +17,11 @@ module Trumpet
17
17
  channels = Trumpet::Request.get("/users/#{name}/channels", options)
18
18
  channels.map { |attributes| Channel.new(attributes) }
19
19
  end
20
+
21
+ def delete(options={})
22
+ options[:credentials] ||= @credentials
23
+ !!Trumpet::Request.delete("/channels/#{name}", :parse_response => false, :credentials => options[:credentials])
24
+ end
20
25
 
21
26
  def broadcast(message, options={})
22
27
  options[:credentials] ||= @credentials
@@ -1,6 +1,14 @@
1
1
  module Trumpet
2
2
  class Resource
3
3
 
4
+ def to_h(excludes=[])
5
+ excludes << '@credentials'
6
+ instance_variables.inject({}) do |hash, value|
7
+ hash[value.gsub('@', '')] = instance_variable_get(value) unless excludes.include?(value)
8
+ hash
9
+ end
10
+ end
11
+
4
12
  protected
5
13
 
6
14
  def initialize(attributes)
@@ -9,5 +17,13 @@ module Trumpet
9
17
  instance_variable_set(:"@#{attribute.to_s}", value)
10
18
  end
11
19
  end
20
+
21
+ private
22
+
23
+ def set_attributes(attributes)
24
+ attributes.each do |attribute, value|
25
+ instance_variable_set(:"@#{attribute.to_s}", value)
26
+ end
27
+ end
12
28
  end
13
29
  end
data/lib/trumpet/user.rb CHANGED
@@ -9,6 +9,16 @@ module Trumpet
9
9
  def self.find(name, options={})
10
10
  User.new(Trumpet::Request.get("/users/#{name}", options))
11
11
  end
12
+
13
+ # TODO: Not yet supported in backend
14
+ # def update(parameters)
15
+ # options = {}
16
+ #
17
+ # options[:credentials] ||= @credentials
18
+ # options[:parameters] = self.to_h.merge(parameters)
19
+ #
20
+ # !!set_attributes(Trumpet::Request.put("/users/#{name}", options))
21
+ # end
12
22
 
13
23
  def delete(options={})
14
24
  options[:credentials] ||= @credentials
data/spec/channel_spec.rb CHANGED
@@ -5,11 +5,12 @@ describe "Channel" do
5
5
  before(:all) do
6
6
  @trumpet = Trumpet::Base.new :username => 'somedude', :password => 'somepassword'
7
7
 
8
- FakeWeb.register_uri :post, "somedude:somepassword@api.trumpet.io/channels", :file => "#{File.dirname(__FILE__)}/fixtures/channels/create"
9
- FakeWeb.register_uri :get, "somedude:somepassword@api.trumpet.io/channels", :file => "#{File.dirname(__FILE__)}/fixtures/channels/all"
10
- FakeWeb.register_uri :get, "somedude:somepassword@api.trumpet.io/channels/radical", :file => "#{File.dirname(__FILE__)}/fixtures/channels/show"
11
- FakeWeb.register_uri :post, "somedude:somepassword@api.trumpet.io/channels/radical/messages", :status => ["204", "OK"]
12
- FakeWeb.register_uri :get, "somedude:somepassword@api.trumpet.io/channels/radical/messages", :file => "#{File.dirname(__FILE__)}/fixtures/channels/messages"
8
+ FakeWeb.register_uri :post, "#{AUTHENTICATED_URI}/channels", :file => "#{File.dirname(__FILE__)}/fixtures/channels/create"
9
+ FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/channels", :file => "#{File.dirname(__FILE__)}/fixtures/channels/all"
10
+ FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/channels/radical", :file => "#{File.dirname(__FILE__)}/fixtures/channels/show"
11
+ FakeWeb.register_uri :delete, "#{AUTHENTICATED_URI}/channels/radical", :status => ["204", "OK"]
12
+ FakeWeb.register_uri :post, "#{AUTHENTICATED_URI}/channels/radical/messages", :status => ["204", "OK"]
13
+ FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/channels/radical/messages", :file => "#{File.dirname(__FILE__)}/fixtures/channels/messages"
13
14
  end
14
15
 
15
16
  it 'should let me create a channel' do
@@ -29,6 +30,11 @@ describe "Channel" do
29
30
  channel.name.should == 'radical'
30
31
  end
31
32
 
33
+ it "should let me delete an existing channel" do
34
+ channel = @trumpet.channels.find 'radical'
35
+ channel.delete.should == true
36
+ end
37
+
32
38
  it 'should allow me to broadcast a message through a channel' do
33
39
  channel = @trumpet.channels.find 'radical'
34
40
  channel.broadcast(Trumpet::Message.new(:content => 'dude, awesome')).should == true
@@ -0,0 +1 @@
1
+ {"name":"radicaldude","created_at":"2009/05/13 12:29:10 -0700","id":2,"updated_at":"2009/05/13 12:29:10 -0700"}
data/spec/user_spec.rb CHANGED
@@ -7,6 +7,7 @@ describe "User" do
7
7
 
8
8
  FakeWeb.register_uri :post, "#{AUTHENTICATED_URI}/users", :file => "#{File.dirname(__FILE__)}/fixtures/users/create"
9
9
  FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/users/raddude", :file => "#{File.dirname(__FILE__)}/fixtures/users/show"
10
+ FakeWeb.register_uri :put, "#{AUTHENTICATED_URI}/users/raddude", :file => "#{File.dirname(__FILE__)}/fixtures/users/put"
10
11
  FakeWeb.register_uri :delete, "#{AUTHENTICATED_URI}/users/raddude", :string => ["204", "OK"]
11
12
  FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/users/raddude/channels", :file => "#{File.dirname(__FILE__)}/fixtures/users/channels"
12
13
  FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/users/raddude/listeners", :file => "#{File.dirname(__FILE__)}/fixtures/users/listeners"
@@ -22,6 +23,14 @@ describe "User" do
22
23
  user = @trumpet.users.find 'raddude'
23
24
  user.name.should == 'raddude'
24
25
  end
26
+
27
+ # TODO: Note yet supported on backend
28
+ # it "should let me update an existing user" do
29
+ # user = @trumpet.users.find 'raddude'
30
+ #
31
+ # user.update(:name => 'radicaldude')
32
+ # user.name.should == 'radicaldude'
33
+ # end
25
34
 
26
35
  it "should let me delete an existing user" do
27
36
  user = @trumpet.users.find 'raddude'
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.1
4
+ version: 0.1.2
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-15 00:00:00 -07:00
12
+ date: 2009-05-18 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -79,6 +79,7 @@ files:
79
79
  - spec/fixtures/users/channels
80
80
  - spec/fixtures/users/create
81
81
  - spec/fixtures/users/listeners
82
+ - spec/fixtures/users/put
82
83
  - spec/fixtures/users/receivers
83
84
  - spec/fixtures/users/show
84
85
  - spec/listener_spec.rb