queued 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -17,7 +17,7 @@ asynchronously.
17
17
 
18
18
  Caveats
19
19
  --------------
20
- * A record must be saved and reachable by an `id` accessor.
20
+ * A record must be saved and reachable by an `id` field.
21
21
  * Assumes a Rails application with Resque setup.
22
22
  * does not handle Singleton methods (yet).
23
23
  * defaults the queue name to the instance class name. the `queued` method accepts an override.
@@ -17,7 +17,11 @@ module Queued
17
17
  module InstanceMethods
18
18
 
19
19
  def queued(queue_name = nil)
20
- ::Queued::QueueingProxy.new(self, queue_name)
20
+ if Queued.enabled
21
+ ::Queued::QueueingProxy.new(self, queue_name)
22
+ else
23
+ self
24
+ end
21
25
  end
22
26
  end
23
27
 
@@ -1,3 +1,3 @@
1
1
  module Queued
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/queued.rb CHANGED
@@ -1,4 +1,7 @@
1
1
  module Queued
2
+ mattr_accessor :enabled
3
+ self.enabled = true
4
+
2
5
  autoload :Version, "queued/version"
3
6
  autoload :QueueingProxy, "queued/queueing_proxy"
4
7
  autoload :ActiveRecordIntegration, "queued/active_record_integration"
@@ -0,0 +1,33 @@
1
+ require File.dirname(__FILE__) + "/spec_helper"
2
+
3
+ describe Queued do
4
+ subject { thing }
5
+
6
+ context ".enabled" do
7
+
8
+ it "is enabled by default" do
9
+ described_class.enabled.should be(true)
10
+ end
11
+
12
+ it "allows dis-abling" do
13
+ disabled do
14
+ described_class.enabled.should be(false)
15
+ end
16
+ end
17
+
18
+ context "changes how proxies are issued" do
19
+ it "returns a proxy when enabled" do
20
+ subject.queued.should be_instance_of(Queued::QueueingProxy)
21
+ end
22
+
23
+ it "returns the original object when disabled" do
24
+ disabled do
25
+ subject.queued.should be_instance_of(subject.class)
26
+ end
27
+ end
28
+
29
+ end
30
+
31
+ end
32
+
33
+ end
@@ -44,6 +44,14 @@ describe Queued::QueueingProxy do
44
44
  proxy.save(false)
45
45
  end
46
46
 
47
+ it "does not invoke resque if Queued is disabled" do
48
+ disabled do
49
+ Resque::Job.should_receive(:create).never
50
+
51
+ thing.queued.save!
52
+ end
53
+ end
54
+
47
55
  end
48
56
 
49
57
  end
data/spec/spec_helper.rb CHANGED
@@ -29,6 +29,13 @@ module Helpers
29
29
  Thing.create(:name => "Herglebergle Snartbirk")
30
30
  end
31
31
 
32
+ def disabled
33
+ Queued.enabled = false
34
+ yield if block_given?
35
+ ensure
36
+ Queued.enabled = true
37
+ end
38
+
32
39
  end
33
40
 
34
41
  RSpec.configure do |config|
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: queued
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Rob Ares
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-07-07 00:00:00 -04:00
18
+ date: 2011-07-27 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -105,6 +105,7 @@ files:
105
105
  - lib/queued/version.rb
106
106
  - queued.gemspec
107
107
  - spec/active_record_integration_spec.rb
108
+ - spec/queued_spec.rb
108
109
  - spec/queueing_proxy_spec.rb
109
110
  - spec/spec_helper.rb
110
111
  has_rdoc: true