quebert 0.0.0
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.
- data/.document +5 -0
- data/.gitignore +22 -0
- data/Gemfile +14 -0
- data/LICENSE +20 -0
- data/README.rdoc +113 -0
- data/Rakefile +47 -0
- data/VERSION +1 -0
- data/lib/quebert.rb +29 -0
- data/lib/quebert/async_sender.rb +99 -0
- data/lib/quebert/backend.rb +11 -0
- data/lib/quebert/backend/beanstalk.rb +35 -0
- data/lib/quebert/backend/in_process.rb +14 -0
- data/lib/quebert/backend/sync.rb +11 -0
- data/lib/quebert/configuration.rb +16 -0
- data/lib/quebert/consumer.rb +9 -0
- data/lib/quebert/consumer/base.rb +21 -0
- data/lib/quebert/consumer/beanstalk.rb +30 -0
- data/lib/quebert/daemonizing.rb +144 -0
- data/lib/quebert/job.rb +62 -0
- data/lib/quebert/support.rb +28 -0
- data/lib/quebert/worker.rb +29 -0
- data/quebert.gemspec +92 -0
- data/spec/async_sender_spec.rb +85 -0
- data/spec/backend_spec.rb +70 -0
- data/spec/configuration_spec.rb +18 -0
- data/spec/consumer_spec.rb +65 -0
- data/spec/job_spec.rb +52 -0
- data/spec/jobs.rb +29 -0
- data/spec/quebert_spec.rb +8 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/worker_spec.rb +27 -0
- metadata +164 -0
| @@ -0,0 +1,70 @@ | |
| 1 | 
            +
            require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe Backend do
         | 
| 4 | 
            +
              it "should have register backends" do
         | 
| 5 | 
            +
                Quebert.backends.keys.should include(:in_process, :beanstalk, :sync)
         | 
| 6 | 
            +
              end
         | 
| 7 | 
            +
              
         | 
| 8 | 
            +
              it "should register backends" do
         | 
| 9 | 
            +
                Quebert::Backend.register :twenty, 20
         | 
| 10 | 
            +
                Quebert.backends[:twenty].should eql(20)
         | 
| 11 | 
            +
              end
         | 
| 12 | 
            +
            end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            describe Backend::InProcess do
         | 
| 15 | 
            +
              before(:all) do
         | 
| 16 | 
            +
                @q = Backend::InProcess.new
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
              
         | 
| 19 | 
            +
              it "should put on queue" do
         | 
| 20 | 
            +
                3.times do |num|
         | 
| 21 | 
            +
                  @q.put Adder, num
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
              
         | 
| 25 | 
            +
              it "should consume from queue" do
         | 
| 26 | 
            +
                3.times do |num|
         | 
| 27 | 
            +
                  @q.reserve.perform.should eql(num)
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
              end
         | 
| 30 | 
            +
            end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
            describe Backend::Beanstalk  do
         | 
| 33 | 
            +
              before(:all) do
         | 
| 34 | 
            +
                @q = Backend::Beanstalk.new('localhost:11300','quebert-test')
         | 
| 35 | 
            +
                @q.drain!
         | 
| 36 | 
            +
              end
         | 
| 37 | 
            +
              
         | 
| 38 | 
            +
              it "should put on queue" do
         | 
| 39 | 
            +
                3.times do |num|
         | 
| 40 | 
            +
                  @q.put Adder, num
         | 
| 41 | 
            +
                end
         | 
| 42 | 
            +
              end
         | 
| 43 | 
            +
              
         | 
| 44 | 
            +
              it "should consume from queue" do
         | 
| 45 | 
            +
                3.times do |num|
         | 
| 46 | 
            +
                  @q.reserve.perform.should eql(num)
         | 
| 47 | 
            +
                end
         | 
| 48 | 
            +
              end
         | 
| 49 | 
            +
            end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
             | 
| 52 | 
            +
            describe Backend::Sync do
         | 
| 53 | 
            +
              before(:all) do
         | 
| 54 | 
            +
                @q = Backend::Sync.new
         | 
| 55 | 
            +
              end
         | 
| 56 | 
            +
              
         | 
| 57 | 
            +
              it "should put on queue" do
         | 
| 58 | 
            +
                3.times do |num|
         | 
| 59 | 
            +
                  @q.put(Adder, num).should eql(num)
         | 
| 60 | 
            +
                end
         | 
| 61 | 
            +
              end
         | 
| 62 | 
            +
              
         | 
| 63 | 
            +
              it "should consume from queue" do
         | 
| 64 | 
            +
                3.times do |num|
         | 
| 65 | 
            +
                  lambda{
         | 
| 66 | 
            +
                    @q.reserve.perform.should eql(num)
         | 
| 67 | 
            +
                  }.should raise_exception
         | 
| 68 | 
            +
                end
         | 
| 69 | 
            +
              end
         | 
| 70 | 
            +
            end
         | 
| @@ -0,0 +1,18 @@ | |
| 1 | 
            +
            require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe Configuration do
         | 
| 4 | 
            +
              context "from hash" do
         | 
| 5 | 
            +
                before(:all) do
         | 
| 6 | 
            +
                  @config = Configuration.from_hash('backend' => 'beanstalk', 'host' => 'localhost:11300', 'tube' => 'quebert-config-test')
         | 
| 7 | 
            +
                end
         | 
| 8 | 
            +
                
         | 
| 9 | 
            +
                it "should configure backend" do
         | 
| 10 | 
            +
                  backend = @config.backend
         | 
| 11 | 
            +
                  backend.should be_instance_of(Quebert::Backend::Beanstalk)
         | 
| 12 | 
            +
                  # Blech, gross nastiness in their lib, but we need to look in to see if this stuff as configed
         | 
| 13 | 
            +
                  backend.instance_variable_get('@addrs').should eql('localhost:11300')
         | 
| 14 | 
            +
                  backend.instance_variable_get('@default_tube').should eql('quebert-config-test')
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
                
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
            end
         | 
| @@ -0,0 +1,65 @@ | |
| 1 | 
            +
            require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
         | 
| 2 | 
            +
            require 'ruby-debug'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            describe Consumer::Base do
         | 
| 5 | 
            +
              it "should perform job" do
         | 
| 6 | 
            +
                Consumer::Base.new(Adder.new([1,2])).perform.should eql(3)
         | 
| 7 | 
            +
              end
         | 
| 8 | 
            +
              
         | 
| 9 | 
            +
              it "should rescue all raised job actions" do
         | 
| 10 | 
            +
                [ReleaseJob, DeleteJob, BuryJob].each do |job|
         | 
| 11 | 
            +
                  lambda{
         | 
| 12 | 
            +
                    Consumer::Base.new(job.new).perform
         | 
| 13 | 
            +
                  }.should_not raise_exception
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
            end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            describe Consumer::Beanstalk do
         | 
| 19 | 
            +
              before(:all) do
         | 
| 20 | 
            +
                @q = Backend::Beanstalk.configure(:host => 'localhost:11300', :tube => 'quebert-test-jobs-actions')
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
              
         | 
| 23 | 
            +
              before(:each) do
         | 
| 24 | 
            +
                @q.drain!
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
              
         | 
| 27 | 
            +
              it "should delete job off queue after succesful run" do
         | 
| 28 | 
            +
                @q.put(Adder, 1, 2)
         | 
| 29 | 
            +
                @q.peek_ready.should_not be_nil
         | 
| 30 | 
            +
                @q.reserve.perform.should eql(3)
         | 
| 31 | 
            +
                @q.peek_ready.should be_nil
         | 
| 32 | 
            +
              end
         | 
| 33 | 
            +
              
         | 
| 34 | 
            +
              it "should bury job if an exception occurs in job" do
         | 
| 35 | 
            +
                @q.put Exceptional
         | 
| 36 | 
            +
                @q.peek_ready.should_not be_nil
         | 
| 37 | 
            +
                lambda{ @q.reserve.perform }.should raise_exception
         | 
| 38 | 
            +
                @q.peek_buried.should_not be_nil
         | 
| 39 | 
            +
              end
         | 
| 40 | 
            +
              
         | 
| 41 | 
            +
              context "job actions" do
         | 
| 42 | 
            +
                it "should delete job" do
         | 
| 43 | 
            +
                  @q.put DeleteJob
         | 
| 44 | 
            +
                  @q.peek_ready.should_not be_nil
         | 
| 45 | 
            +
                  @q.reserve.perform
         | 
| 46 | 
            +
                  @q.peek_ready.should be_nil
         | 
| 47 | 
            +
                end
         | 
| 48 | 
            +
                
         | 
| 49 | 
            +
                it "should release job" do
         | 
| 50 | 
            +
                  @q.put ReleaseJob
         | 
| 51 | 
            +
                  @q.peek_ready.should_not be_nil
         | 
| 52 | 
            +
                  @q.reserve.perform
         | 
| 53 | 
            +
                  @q.peek_ready.should_not be_nil
         | 
| 54 | 
            +
                end
         | 
| 55 | 
            +
                
         | 
| 56 | 
            +
                it "should bury job" do
         | 
| 57 | 
            +
                  @q.put BuryJob
         | 
| 58 | 
            +
                  @q.peek_ready.should_not be_nil
         | 
| 59 | 
            +
                  @q.peek_buried.should be_nil
         | 
| 60 | 
            +
                  @q.reserve.perform
         | 
| 61 | 
            +
                  @q.peek_ready.should be_nil
         | 
| 62 | 
            +
                  @q.peek_buried.should_not be_nil
         | 
| 63 | 
            +
                end
         | 
| 64 | 
            +
              end
         | 
| 65 | 
            +
            end
         | 
    
        data/spec/job_spec.rb
    ADDED
    
    | @@ -0,0 +1,52 @@ | |
| 1 | 
            +
            require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe Quebert::Job do
         | 
| 4 | 
            +
              
         | 
| 5 | 
            +
              before(:all) do
         | 
| 6 | 
            +
                Adder.backend = @q = Quebert::Backend::InProcess.new
         | 
| 7 | 
            +
              end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              it "should raise not implemented on base job" do
         | 
| 10 | 
            +
                lambda {
         | 
| 11 | 
            +
                  Job.new.perform
         | 
| 12 | 
            +
                }.should raise_exception(Quebert::Job::NotImplemented)
         | 
| 13 | 
            +
              end
         | 
| 14 | 
            +
              
         | 
| 15 | 
            +
              it "should convert job to and from JSON" do
         | 
| 16 | 
            +
                args = [1,2,3]
         | 
| 17 | 
            +
                serialized = Adder.new(args).to_json
         | 
| 18 | 
            +
                unserialized = Adder.from_json(serialized)
         | 
| 19 | 
            +
                unserialized.should be_instance_of(Adder)
         | 
| 20 | 
            +
                unserialized.args.should eql(args)
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
              
         | 
| 23 | 
            +
              context "actions" do
         | 
| 24 | 
            +
                it "should raise release" do
         | 
| 25 | 
            +
                  lambda{
         | 
| 26 | 
            +
                    ReleaseJob.new.perform
         | 
| 27 | 
            +
                  }.should raise_exception(Job::Release)
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
                
         | 
| 30 | 
            +
                it "should raise delete" do
         | 
| 31 | 
            +
                  lambda{
         | 
| 32 | 
            +
                    DeleteJob.new.perform
         | 
| 33 | 
            +
                  }.should raise_exception(Job::Delete)
         | 
| 34 | 
            +
                end
         | 
| 35 | 
            +
                
         | 
| 36 | 
            +
                it "should raise bury" do
         | 
| 37 | 
            +
                  lambda{
         | 
| 38 | 
            +
                    BuryJob.new.perform
         | 
| 39 | 
            +
                  }.should raise_exception(Job::Bury)
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
              
         | 
| 43 | 
            +
              
         | 
| 44 | 
            +
              context "job queue" do
         | 
| 45 | 
            +
                it "should enqueue" do
         | 
| 46 | 
            +
                  lambda{
         | 
| 47 | 
            +
                    Adder.enqueue(1,2,3)
         | 
| 48 | 
            +
                  }.should change(@q, :size).by(1)
         | 
| 49 | 
            +
                end
         | 
| 50 | 
            +
              end
         | 
| 51 | 
            +
              
         | 
| 52 | 
            +
            end
         | 
    
        data/spec/jobs.rb
    ADDED
    
    | @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            class ReleaseJob < Quebert::Job
         | 
| 2 | 
            +
              def perform
         | 
| 3 | 
            +
                release!
         | 
| 4 | 
            +
              end
         | 
| 5 | 
            +
            end
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            class DeleteJob < Quebert::Job
         | 
| 8 | 
            +
              def perform
         | 
| 9 | 
            +
                delete!
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
            end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            class BuryJob < Quebert::Job
         | 
| 14 | 
            +
              def perform
         | 
| 15 | 
            +
                bury!
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
            end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            class Adder < Quebert::Job
         | 
| 20 | 
            +
              def perform(*args)
         | 
| 21 | 
            +
                args.inject(0){|sum, n| sum = sum + n}
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
            end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            class Exceptional < Quebert::Job
         | 
| 26 | 
            +
              def perform
         | 
| 27 | 
            +
                raise Exception
         | 
| 28 | 
            +
              end
         | 
| 29 | 
            +
            end
         | 
    
        data/spec/spec.opts
    ADDED
    
    | @@ -0,0 +1 @@ | |
| 1 | 
            +
            --color
         | 
    
        data/spec/spec_helper.rb
    ADDED
    
    | @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            require 'rubygems'
         | 
| 2 | 
            +
            require 'bundler/setup'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            $LOAD_PATH.unshift(File.dirname(__FILE__))
         | 
| 5 | 
            +
            $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            require 'quebert'
         | 
| 8 | 
            +
            require 'spec'
         | 
| 9 | 
            +
            require 'spec/autorun'
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            Spec::Runner.configure do |config|
         | 
| 12 | 
            +
            end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            include Quebert
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            require 'jobs'
         | 
    
        data/spec/worker_spec.rb
    ADDED
    
    | @@ -0,0 +1,27 @@ | |
| 1 | 
            +
            require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe Worker do
         | 
| 4 | 
            +
              before(:each) do
         | 
| 5 | 
            +
                @q = Backend::InProcess.new
         | 
| 6 | 
            +
                @w = Worker.new do |w|
         | 
| 7 | 
            +
                  w.backend = @q
         | 
| 8 | 
            +
                end
         | 
| 9 | 
            +
              end
         | 
| 10 | 
            +
              
         | 
| 11 | 
            +
              it "should start" do
         | 
| 12 | 
            +
                @w.start
         | 
| 13 | 
            +
              end
         | 
| 14 | 
            +
              
         | 
| 15 | 
            +
              context "pluggable exception handler" do
         | 
| 16 | 
            +
                it "should raise exception if nothing is provided" do
         | 
| 17 | 
            +
                  @q.put Exceptional
         | 
| 18 | 
            +
                  lambda{ @w.start }.should raise_exception
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
                
         | 
| 21 | 
            +
                it "should intercept exceptions" do
         | 
| 22 | 
            +
                  @q.put Exceptional
         | 
| 23 | 
            +
                  @w.exception_handler = Proc.new{|e| e.should be_instance_of(Exception) }
         | 
| 24 | 
            +
                  lambda{ @w.start }.should_not raise_exception
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
            end
         | 
    
        metadata
    ADDED
    
    | @@ -0,0 +1,164 @@ | |
| 1 | 
            +
            --- !ruby/object:Gem::Specification 
         | 
| 2 | 
            +
            name: quebert
         | 
| 3 | 
            +
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            +
              hash: 31
         | 
| 5 | 
            +
              prerelease: false
         | 
| 6 | 
            +
              segments: 
         | 
| 7 | 
            +
              - 0
         | 
| 8 | 
            +
              - 0
         | 
| 9 | 
            +
              - 0
         | 
| 10 | 
            +
              version: 0.0.0
         | 
| 11 | 
            +
            platform: ruby
         | 
| 12 | 
            +
            authors: 
         | 
| 13 | 
            +
            - Brad Gessler
         | 
| 14 | 
            +
            autorequire: 
         | 
| 15 | 
            +
            bindir: bin
         | 
| 16 | 
            +
            cert_chain: []
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            date: 2010-10-03 00:00:00 -07:00
         | 
| 19 | 
            +
            default_executable: 
         | 
| 20 | 
            +
            dependencies: 
         | 
| 21 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 22 | 
            +
              name: rspec
         | 
| 23 | 
            +
              prerelease: false
         | 
| 24 | 
            +
              requirement: &id001 !ruby/object:Gem::Requirement 
         | 
| 25 | 
            +
                none: false
         | 
| 26 | 
            +
                requirements: 
         | 
| 27 | 
            +
                - - ">="
         | 
| 28 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 29 | 
            +
                    hash: 13
         | 
| 30 | 
            +
                    segments: 
         | 
| 31 | 
            +
                    - 1
         | 
| 32 | 
            +
                    - 2
         | 
| 33 | 
            +
                    - 9
         | 
| 34 | 
            +
                    version: 1.2.9
         | 
| 35 | 
            +
              type: :development
         | 
| 36 | 
            +
              version_requirements: *id001
         | 
| 37 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 38 | 
            +
              name: json
         | 
| 39 | 
            +
              prerelease: false
         | 
| 40 | 
            +
              requirement: &id002 !ruby/object:Gem::Requirement 
         | 
| 41 | 
            +
                none: false
         | 
| 42 | 
            +
                requirements: 
         | 
| 43 | 
            +
                - - ">="
         | 
| 44 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 45 | 
            +
                    hash: 3
         | 
| 46 | 
            +
                    segments: 
         | 
| 47 | 
            +
                    - 0
         | 
| 48 | 
            +
                    version: "0"
         | 
| 49 | 
            +
              type: :runtime
         | 
| 50 | 
            +
              version_requirements: *id002
         | 
| 51 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 52 | 
            +
              name: daemons
         | 
| 53 | 
            +
              prerelease: false
         | 
| 54 | 
            +
              requirement: &id003 !ruby/object:Gem::Requirement 
         | 
| 55 | 
            +
                none: false
         | 
| 56 | 
            +
                requirements: 
         | 
| 57 | 
            +
                - - ">="
         | 
| 58 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 59 | 
            +
                    hash: 3
         | 
| 60 | 
            +
                    segments: 
         | 
| 61 | 
            +
                    - 0
         | 
| 62 | 
            +
                    version: "0"
         | 
| 63 | 
            +
              type: :runtime
         | 
| 64 | 
            +
              version_requirements: *id003
         | 
| 65 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 66 | 
            +
              name: beanstalk-client
         | 
| 67 | 
            +
              prerelease: false
         | 
| 68 | 
            +
              requirement: &id004 !ruby/object:Gem::Requirement 
         | 
| 69 | 
            +
                none: false
         | 
| 70 | 
            +
                requirements: 
         | 
| 71 | 
            +
                - - ">="
         | 
| 72 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 73 | 
            +
                    hash: 3
         | 
| 74 | 
            +
                    segments: 
         | 
| 75 | 
            +
                    - 0
         | 
| 76 | 
            +
                    version: "0"
         | 
| 77 | 
            +
              type: :runtime
         | 
| 78 | 
            +
              version_requirements: *id004
         | 
| 79 | 
            +
            description: A worker queue framework built around beanstalkd
         | 
| 80 | 
            +
            email: brad@bradgessler.com
         | 
| 81 | 
            +
            executables: []
         | 
| 82 | 
            +
             | 
| 83 | 
            +
            extensions: []
         | 
| 84 | 
            +
             | 
| 85 | 
            +
            extra_rdoc_files: 
         | 
| 86 | 
            +
            - LICENSE
         | 
| 87 | 
            +
            - README.rdoc
         | 
| 88 | 
            +
            files: 
         | 
| 89 | 
            +
            - .document
         | 
| 90 | 
            +
            - .gitignore
         | 
| 91 | 
            +
            - Gemfile
         | 
| 92 | 
            +
            - LICENSE
         | 
| 93 | 
            +
            - README.rdoc
         | 
| 94 | 
            +
            - Rakefile
         | 
| 95 | 
            +
            - VERSION
         | 
| 96 | 
            +
            - lib/quebert.rb
         | 
| 97 | 
            +
            - lib/quebert/async_sender.rb
         | 
| 98 | 
            +
            - lib/quebert/backend.rb
         | 
| 99 | 
            +
            - lib/quebert/backend/beanstalk.rb
         | 
| 100 | 
            +
            - lib/quebert/backend/in_process.rb
         | 
| 101 | 
            +
            - lib/quebert/backend/sync.rb
         | 
| 102 | 
            +
            - lib/quebert/configuration.rb
         | 
| 103 | 
            +
            - lib/quebert/consumer.rb
         | 
| 104 | 
            +
            - lib/quebert/consumer/base.rb
         | 
| 105 | 
            +
            - lib/quebert/consumer/beanstalk.rb
         | 
| 106 | 
            +
            - lib/quebert/daemonizing.rb
         | 
| 107 | 
            +
            - lib/quebert/job.rb
         | 
| 108 | 
            +
            - lib/quebert/support.rb
         | 
| 109 | 
            +
            - lib/quebert/worker.rb
         | 
| 110 | 
            +
            - quebert.gemspec
         | 
| 111 | 
            +
            - spec/async_sender_spec.rb
         | 
| 112 | 
            +
            - spec/backend_spec.rb
         | 
| 113 | 
            +
            - spec/configuration_spec.rb
         | 
| 114 | 
            +
            - spec/consumer_spec.rb
         | 
| 115 | 
            +
            - spec/job_spec.rb
         | 
| 116 | 
            +
            - spec/jobs.rb
         | 
| 117 | 
            +
            - spec/quebert_spec.rb
         | 
| 118 | 
            +
            - spec/spec.opts
         | 
| 119 | 
            +
            - spec/spec_helper.rb
         | 
| 120 | 
            +
            - spec/worker_spec.rb
         | 
| 121 | 
            +
            has_rdoc: true
         | 
| 122 | 
            +
            homepage: http://github.com/bradgessler/quebert
         | 
| 123 | 
            +
            licenses: []
         | 
| 124 | 
            +
             | 
| 125 | 
            +
            post_install_message: 
         | 
| 126 | 
            +
            rdoc_options: 
         | 
| 127 | 
            +
            - --charset=UTF-8
         | 
| 128 | 
            +
            require_paths: 
         | 
| 129 | 
            +
            - lib
         | 
| 130 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement 
         | 
| 131 | 
            +
              none: false
         | 
| 132 | 
            +
              requirements: 
         | 
| 133 | 
            +
              - - ">="
         | 
| 134 | 
            +
                - !ruby/object:Gem::Version 
         | 
| 135 | 
            +
                  hash: 3
         | 
| 136 | 
            +
                  segments: 
         | 
| 137 | 
            +
                  - 0
         | 
| 138 | 
            +
                  version: "0"
         | 
| 139 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 140 | 
            +
              none: false
         | 
| 141 | 
            +
              requirements: 
         | 
| 142 | 
            +
              - - ">="
         | 
| 143 | 
            +
                - !ruby/object:Gem::Version 
         | 
| 144 | 
            +
                  hash: 3
         | 
| 145 | 
            +
                  segments: 
         | 
| 146 | 
            +
                  - 0
         | 
| 147 | 
            +
                  version: "0"
         | 
| 148 | 
            +
            requirements: []
         | 
| 149 | 
            +
             | 
| 150 | 
            +
            rubyforge_project: 
         | 
| 151 | 
            +
            rubygems_version: 1.3.7
         | 
| 152 | 
            +
            signing_key: 
         | 
| 153 | 
            +
            specification_version: 3
         | 
| 154 | 
            +
            summary: A worker queue framework built around beanstalkd
         | 
| 155 | 
            +
            test_files: 
         | 
| 156 | 
            +
            - spec/async_sender_spec.rb
         | 
| 157 | 
            +
            - spec/backend_spec.rb
         | 
| 158 | 
            +
            - spec/configuration_spec.rb
         | 
| 159 | 
            +
            - spec/consumer_spec.rb
         | 
| 160 | 
            +
            - spec/job_spec.rb
         | 
| 161 | 
            +
            - spec/jobs.rb
         | 
| 162 | 
            +
            - spec/quebert_spec.rb
         | 
| 163 | 
            +
            - spec/spec_helper.rb
         | 
| 164 | 
            +
            - spec/worker_spec.rb
         |