queued 0.0.1 → 0.0.2

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/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