ironmq 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -33,3 +33,13 @@ a timeout if you don't delete it (default timeout is 10 minutes).
33
33
  p res
34
34
 
35
35
  Delete a message from the queue when you're done with it.
36
+
37
+ Queue Selection
38
+ ===============
39
+
40
+ One of the following:
41
+
42
+ 1. Pass `:queue_name=>'my_queue'` into IronMQ::Client.new
43
+ 1. `@client.queue_name = 'my_queue'`
44
+ 1. Pass `:queue_name=>'my_queue'` into any post(), get(), or delete()
45
+
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ begin
10
10
  gem.email = "travis@iron.io"
11
11
  gem.homepage = "http://www.iron.io"
12
12
  gem.authors = ["Travis Reeder"]
13
- gem.add_dependency 'rest-client'
13
+ gem.add_dependency 'patron'
14
14
  gem.required_ruby_version = '>= 1.9'
15
15
  end
16
16
  Jeweler::GemcutterTasks.new
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 1
3
3
  :minor: 2
4
- :patch: 1
4
+ :patch: 2
5
5
  :build:
data/lib/ironmq/client.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'json'
2
- require 'rest_client'
2
+ require 'patron'
3
3
 
4
4
 
5
5
  module IronMQ
@@ -11,12 +11,20 @@ module IronMQ
11
11
  def initialize(options={})
12
12
  @token = options[:token] || options['token']
13
13
  @project_id = options[:project_id] || options['project_id']
14
- @queue_name = options[:queue_name] || options['queue_name']
14
+ @queue_name = options[:queue_name] || options['queue_name'] || "default"
15
15
  @scheme = options[:scheme] || options['scheme'] || "http"
16
16
  @host = options[:host] || options['host'] || "mq-aws-us-east-1.iron.io"
17
17
  @port = options[:port] || options['port'] || 80
18
18
  # todo: default https
19
19
  @base_url = "#{@scheme}://#{@host}:#{@port}/1"
20
+
21
+ sess = Patron::Session.new
22
+ sess.timeout = 10
23
+ sess.base_url = @base_url
24
+ sess.headers['User-Agent'] = 'IronMQ Ruby Client'
25
+ #sess.enable_debug "/tmp/patron.debug"
26
+ @http_sess = sess
27
+
20
28
  end
21
29
 
22
30
  def messages
@@ -27,28 +35,33 @@ module IronMQ
27
35
  def post(path, params={})
28
36
  url = "#{@base_url}#{path}"
29
37
  puts 'url=' + url
30
- response = RestClient.post(url, {'oauth' => @token}.merge(params),
31
- :content_type => :json)
38
+ response = @http_sess.post(path, {'oauth' => @token}.merge(params))
39
+ #{:content_type => 'application/json'})
32
40
  puts 'response: ' + response.inspect
33
- res = JSON.parse(response)
41
+ body = response.body
42
+ res = JSON.parse(body)
34
43
  res
35
44
  end
36
45
 
37
46
  def get(path, params={})
38
47
  url = "#{@base_url}#{path}"
39
48
  puts 'url=' + url
40
- response = RestClient.get(url,
41
- {:params => {'oauth'=>@token}.merge(params)})
42
- res = JSON.parse(response)
49
+ response = @http_sess.request(:get, path,
50
+ {},
51
+ :query=>{'oauth'=>@token}.merge(params))
52
+ body = response.body
53
+ res = JSON.parse(body)
43
54
  res
44
55
  end
45
56
 
46
57
  def delete(path, params={})
47
58
  url = "#{@base_url}#{path}"
48
59
  puts 'url=' + url
49
- response = RestClient.delete(url,
50
- {:params => {'oauth'=>@token}.merge(params)})
51
- res = JSON.parse(response)
60
+ response = @http_sess.request(:delete, path,
61
+ {},
62
+ :query=>{'oauth'=>@token}.merge(params))
63
+ body = response.body
64
+ res = JSON.parse(body)
52
65
  puts 'response: ' + res.inspect
53
66
  res
54
67
  end
@@ -64,7 +77,7 @@ module IronMQ
64
77
  end
65
78
 
66
79
  def path(options={})
67
- path = "/projects/#{@client.project_id}/queues/#{options[:queue_name] || @client.queue_name}/messages"
80
+ path = "/projects/#{@client.project_id}/queues/#{options[:queue_name] || @client.queue_name}/messages"
68
81
  end
69
82
 
70
83
  # options:
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: ironmq
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.2.1
5
+ version: 1.2.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Travis Reeder
@@ -13,7 +13,7 @@ cert_chain: []
13
13
  date: 2011-10-12 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: rest-client
16
+ name: patron
17
17
  prerelease: false
18
18
  requirement: &id001 !ruby/object:Gem::Requirement
19
19
  none: false