restalk 0.0.0.13 → 0.0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. data/.gemspec +23 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +36 -0
  4. data/lib/restalk.rb +69 -0
  5. metadata +6 -2
@@ -0,0 +1,23 @@
1
+ require File.expand_path("../lib/restalk", __FILE__)
2
+
3
+ Gem::Specification.new do |gem|
4
+ gem.name = 'restalk'
5
+ gem.version = Restalk::VERSION
6
+ gem.date = Date.today.to_s
7
+
8
+ gem.summary = "Abstraction layer between Beanstalk / Resque"
9
+ gem.description = "Makes migrating from Beanstalk to resque (or back again) super-simple. Other backends welcome."
10
+
11
+ gem.authors = ['Matthew Bennett']
12
+ gem.email = 'matthew@quickwebdesign.net'
13
+ gem.homepage = 'http://github.com/undecisive/restalk'
14
+
15
+ #gem.add_development_dependency('rake')
16
+ gem.add_dependency('beanstalk-client', ["1.0.2"])
17
+ gem.add_dependency('resque', ['1.21.0'])
18
+
19
+ # ensure the gem is built out of versioned files
20
+ gem.files = `git ls-files`.split($\)
21
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
22
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
23
+ end
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gemspec
@@ -0,0 +1,36 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ restalk (0.0.0.10)
5
+ beanstalk-client (= 1.0.2)
6
+ resque (= 1.21.0)
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ beanstalk-client (1.0.2)
12
+ multi_json (1.3.6)
13
+ rack (1.4.1)
14
+ rack-protection (1.2.0)
15
+ rack
16
+ redis (3.0.1)
17
+ redis-namespace (1.2.0)
18
+ redis (~> 3.0.0)
19
+ resque (1.21.0)
20
+ multi_json (~> 1.0)
21
+ redis-namespace (~> 1.0)
22
+ sinatra (>= 0.9.2)
23
+ vegas (~> 0.1.2)
24
+ sinatra (1.3.2)
25
+ rack (~> 1.3, >= 1.3.6)
26
+ rack-protection (~> 1.2)
27
+ tilt (~> 1.3, >= 1.3.3)
28
+ tilt (1.3.3)
29
+ vegas (0.1.11)
30
+ rack (>= 1.0.0)
31
+
32
+ PLATFORMS
33
+ ruby
34
+
35
+ DEPENDENCIES
36
+ restalk!
@@ -0,0 +1,69 @@
1
+
2
+ class Restalk
3
+ VERSION = '0.0.0.14'
4
+ def self.init(adapter)
5
+ extend BeanstalkAdapter if adapter == :beanstalk
6
+ extend ResqueAdapter if [:resque, :redis].include? adapter
7
+ super()
8
+ end
9
+
10
+ def self.connected?
11
+ self.respond_to? :push
12
+ end
13
+
14
+ module BeanstalkAdapter
15
+ def init
16
+ require 'beanstalk-client'
17
+ @@beanstalk = Beanstalk::Pool.new([ENV['BEANSTALK'] || '127.0.0.1:11300'])
18
+ end
19
+
20
+ def push(data)
21
+ @@beanstalk.put(data)
22
+ end
23
+
24
+ def pop
25
+ @@beanstalk.reserve
26
+ end
27
+
28
+ def stats
29
+ @@beanstalk.stats
30
+ end
31
+ end
32
+
33
+ module ResqueAdapter
34
+ QUEUE = ENV['RESQUE_QUEUE'] || 'restalk_queue'
35
+ def init
36
+ require 'resque'
37
+ Resque.redis = ENV['REDIS'] || 'localhost:6379'
38
+ end
39
+
40
+ def push(data)
41
+ Resque.enqueue_to(QUEUE, RestalkResqueJob, data)
42
+ end
43
+
44
+ def pop
45
+ data = Resque.pop QUEUE
46
+ return RestalkResqueJob.new data['args'].first if data
47
+ end
48
+
49
+ def stats
50
+ Resque.info
51
+ end
52
+
53
+ class RestalkResqueJob
54
+ attr_accessor :body
55
+ def initialize(data)
56
+ @body = data
57
+ end
58
+
59
+ def perform(data)
60
+ @body = data
61
+ self
62
+ end
63
+
64
+ def delete
65
+ true
66
+ end
67
+ end
68
+ end
69
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restalk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0.13
4
+ version: 0.0.0.14
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-31 00:00:00.000000000 Z
12
+ date: 2012-08-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: beanstalk-client
@@ -50,7 +50,11 @@ executables: []
50
50
  extensions: []
51
51
  extra_rdoc_files: []
52
52
  files:
53
+ - .gemspec
54
+ - Gemfile
55
+ - Gemfile.lock
53
56
  - README.md
57
+ - lib/restalk.rb
54
58
  homepage: http://github.com/undecisive/restalk
55
59
  licenses: []
56
60
  post_install_message: