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 +1 -1
- data/lib/trumpet/channel.rb +5 -0
- data/lib/trumpet/resource.rb +16 -0
- data/lib/trumpet/user.rb +10 -0
- data/spec/channel_spec.rb +11 -5
- data/spec/fixtures/users/put +1 -0
- data/spec/user_spec.rb +9 -0
- metadata +3 -2
data/VERSION.yml
CHANGED
data/lib/trumpet/channel.rb
CHANGED
@@ -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
|
data/lib/trumpet/resource.rb
CHANGED
@@ -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,
|
9
|
-
FakeWeb.register_uri :get,
|
10
|
-
FakeWeb.register_uri :get,
|
11
|
-
FakeWeb.register_uri :
|
12
|
-
FakeWeb.register_uri :
|
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.
|
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-
|
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
|