trumpet-trumpet 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -9,7 +9,6 @@ begin
9
9
  gem.email = "wtf@trumpet.io"
10
10
  gem.homepage = "http://github.com/trumpet/trumpet"
11
11
  gem.authors = ["Michael Taras"]
12
- gem.add_dependency 'resourceful'
13
12
  gem.add_dependency 'json'
14
13
 
15
14
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :patch: 7
2
+ :patch: 8
3
3
  :major: 0
4
4
  :minor: 0
data/lib/trumpet.rb CHANGED
@@ -1,9 +1,11 @@
1
1
  $:.unshift(File.dirname(__FILE__))
2
2
 
3
3
  require 'rubygems'
4
- require 'resourceful'
5
4
  require 'json'
6
5
 
6
+ require 'net/http'
7
+ require 'uri'
8
+
7
9
  require 'core_extensions'
8
10
 
9
11
 
@@ -11,7 +13,6 @@ module Trumpet
11
13
  end
12
14
 
13
15
  require 'trumpet/request'
14
- require 'trumpet/trumpet_resource'
15
16
  require 'trumpet/exceptions'
16
17
  require 'trumpet/message'
17
18
  require 'trumpet/receiver'
@@ -19,4 +20,5 @@ require 'trumpet/listener'
19
20
  require 'trumpet/transmitter'
20
21
  require 'trumpet/channel'
21
22
  require 'trumpet/user'
22
- require 'trumpet/helpers'
23
+ require 'trumpet/helpers'
24
+ require 'trumpet/duckpunch'
@@ -29,7 +29,7 @@ module Trumpet
29
29
  end
30
30
 
31
31
  def broadcast(message)
32
- Trumpet::Request.post("/channels/#{@name}/messages", :parameters => message.to_h, :parse_response => false)
32
+ !!Trumpet::Request.post("/channels/#{@name}/messages", :parameters => message.to_h, :parse_response => false)
33
33
  end
34
34
 
35
35
  def messages
@@ -4,7 +4,7 @@ module Trumpet
4
4
  true
5
5
  end
6
6
 
7
- def self.set_server(uri)
8
- Trumpet::Request.set_server(uri)
7
+ def self.set_server(uri, port=nil)
8
+ Trumpet::Request.set_server(uri, port)
9
9
  end
10
10
  end
@@ -33,7 +33,7 @@ module Trumpet
33
33
  # Post a message to the server, but only if it didn't come from the server
34
34
  def broadcast
35
35
  unless @id
36
- Trumpet::Request.post('/messages', :parameters => self.to_h, :parse_response => false)
36
+ !!Trumpet::Request.post('/messages', :parameters => self.to_h, :parse_response => false)
37
37
  end
38
38
  end
39
39
 
@@ -1,6 +1,5 @@
1
1
  module Trumpet
2
2
  class Receiver
3
- include TrumpetResource
4
3
 
5
4
  @@attributes = [
6
5
  :id , :url,
@@ -1,51 +1,50 @@
1
1
  module Trumpet
2
2
  module Request
3
- @@http = Resourceful::HttpAccessor.new
4
- @@uri = 'http://api.trumpet.io:3000'
3
+ @@http = Net::HTTP.new('api.trumpet.io', 3000)
4
+ @@http_auth = {}
5
5
 
6
6
  def self.authenticate(username, password)
7
- realm_authenticator = Resourceful::BasicAuthenticator.new('Trumpet Service', username, password)
8
- @@http = Resourceful::HttpAccessor.new(:authenticator => realm_authenticator)
7
+ @@http_auth[:username] = username
8
+ @@http_auth[:password] = password
9
9
  end
10
-
10
+
11
11
  def self.get(path, options={})
12
- do_request(:get, path, options)
12
+ do_request(Net::HTTP::Get, path, options)
13
13
  end
14
14
 
15
15
  def self.post(path, options={})
16
- do_request(:post, path, options)
16
+ do_request(Net::HTTP::Post, path, options)
17
17
  end
18
18
 
19
19
  def self.put(path, options={})
20
- do_request(:put, path, options)
20
+ do_request(Net::HTTP::Put, path, options)
21
21
  end
22
22
 
23
23
  def self.delete(path, options={})
24
- do_request(:delete, path, options)
24
+ do_request(Net::HTTP::Delete, path, options)
25
25
  end
26
26
 
27
- def self.set_server(uri)
28
- @@uri = uri
27
+ def self.set_server(uri, port=nil)
28
+ @@http = Net::HTTP.new(uri.gsub('http://', ''), port) #no http:// in hosts
29
29
  end
30
30
 
31
31
  private
32
32
 
33
- def self.do_request(method, path, options)
34
- resource = @@http.resource("#{@@uri}#{URI.encode(path)}")
35
- begin
36
- response =
37
- if method == :post
38
- resource.send(method, options[:parameters].to_params, :content_type => "application/x-www-form-urlencoded")
39
- elsif options[:parameters]
40
- resource.send(method, options[:parameters].to_params)
41
- else
42
- resource.send(method)
43
- end
44
- rescue Resourceful::UnsuccessfulHttpRequestError => e
45
- response = e.http_response
33
+ def self.do_request(http_method, path, options)
34
+ raw_request = http_method.new(path)
35
+ raw_request.basic_auth(@@http_auth[:username], @@http_auth[:password]) unless @@http_auth.empty?
36
+
37
+ if http_method == Net::HTTP::Post
38
+ raw_request.set_form_data(options[:parameters]) if options[:parameters]
39
+ else
40
+ raw_request.body = options[:parameters].to_params if options[:parameters]
41
+ end
42
+
43
+ response = @@http.request(raw_request)
44
+
45
+ unless response.code.to_i < 400
46
46
  error_string = JSON.parse(response.body).to_s
47
-
48
- case response.code
47
+ case response.code.to_i
49
48
  when 400
50
49
  raise Trumpet::BadRequest, error_string
51
50
  when 401
@@ -61,10 +60,7 @@ module Trumpet
61
60
  when 501
62
61
  raise Trumpet::NotImplemented, error_string
63
62
  end
64
- rescue IOError # Coudln't connect to server
65
- raise Trumpet::ServerConnectionError, 'Could not connect to server'
66
- end
67
-
63
+ end
68
64
  (options[:parse_response] == false) ? response : JSON.parse(response.body)
69
65
  end
70
66
  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.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Taras
@@ -9,19 +9,9 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-04 00:00:00 -07:00
12
+ date: 2009-05-05 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: resourceful
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
24
- version:
25
15
  - !ruby/object:Gem::Dependency
26
16
  name: json
27
17
  type: :runtime
@@ -56,7 +46,6 @@ files:
56
46
  - lib/trumpet/receiver.rb
57
47
  - lib/trumpet/request.rb
58
48
  - lib/trumpet/transmitter.rb
59
- - lib/trumpet/trumpet_resource.rb
60
49
  - lib/trumpet/user.rb
61
50
  - spec/channel_spec.rb
62
51
  - spec/spec_helper.rb
@@ -1,7 +0,0 @@
1
- module Trumpet
2
- module TrumpetResource
3
- def to_h
4
- @@attributes.inject({}) { |hash, attribute| hash[attribute] = self.send(attribute); hash }
5
- end
6
- end
7
- end