deferred_request 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a12d759682c3ca5d2e1171cc6da944e80ce6a9b0f3ccfb65dcaca5d10b2a0c9
|
4
|
+
data.tar.gz: 6ef803175b32093e08d330caebb28d06fbd31e0c3db33f34304ec3163b31e63a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2efcff67bba0f0d7fcd75ae8e08e8cb120412753cc1a1e5439ea37b13bae5323095a866e9d7671be31c13701e8c85aeeb060592537d9b1e087a658884a08cb7
|
7
|
+
data.tar.gz: 5004f590c976b08777e42753b19bb53588dfe54386e6470818ab366f60b363748f0c87728c963a499eba0cd6fafcbba0b422430c35353f784ff3d10921ff5399
|
data/README.md
CHANGED
@@ -62,6 +62,27 @@ end
|
|
62
62
|
# ...
|
63
63
|
```
|
64
64
|
|
65
|
+
### Class Methods
|
66
|
+
- `DeferredRequest::DeferredRequest.from_request(request)` - returns a DeferredRequest::DeferredRequest object (unsaved). Returns the DeferredRequest::DeferredRequest instance.
|
67
|
+
- `DeferredRequest::DeferredRequest.perform_later_from_request!(request)` - creates a deferred request (saved) and enqueues job to process the request. Returns the DeferredRequest::DeferredRequest instance.
|
68
|
+
|
69
|
+
### Instance Methods
|
70
|
+
- `deferred_request.perform_later` - Enqueues a job to `perform!` the deferred request later. Returns the job id.
|
71
|
+
- `deferred_request.perform!` - Calls the `#{controller}_deferred(deferred_request)` method to be processed. Returns the deferred_request instance or raises an exception.
|
72
|
+
|
73
|
+
## Configuration
|
74
|
+
|
75
|
+
- `DeferredRequest.model_parent_class` - Set the parent class
|
76
|
+
- `DeferredRequest.deferred_request_instance_class` - Set the instance class that is created (in-case you sub-class)
|
77
|
+
- `DeferredRequest.job_queue` - Set the job queue for the deferred request job
|
78
|
+
|
79
|
+
```ruby
|
80
|
+
# config/initializers/deferred_request.rb
|
81
|
+
DeferredRequest.model_parent_class = "MyParentClass"
|
82
|
+
DeferredRequest.job_queue = "low"
|
83
|
+
```
|
84
|
+
|
85
|
+
|
65
86
|
## 🙏 Contributing
|
66
87
|
|
67
88
|
If you have an issue you'd like to submit, please do so using the issue tracker in GitHub. In order for us to help you in the best way possible, please be as detailed as you can.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module DeferredRequest
|
2
|
-
class DeferredRequest <
|
2
|
+
class DeferredRequest < DeferredRequest.model_parent_class.constantize
|
3
3
|
serialize :routing
|
4
4
|
serialize :request
|
5
5
|
serialize :result
|
@@ -12,7 +12,7 @@ module DeferredRequest
|
|
12
12
|
# request: ActionDispatch::Request
|
13
13
|
# create a deferred request from a ActionDispatch::Request
|
14
14
|
def self.from_request(request)
|
15
|
-
deferred_request = DeferredRequest.new
|
15
|
+
deferred_request = ::DeferredRequest.deferred_request_instance_class.constantize.new
|
16
16
|
|
17
17
|
deferred_request.controller = request.controller_class.name
|
18
18
|
deferred_request.action = request.params["action"]
|
@@ -31,6 +31,8 @@ module DeferredRequest
|
|
31
31
|
deferred_request.save!
|
32
32
|
|
33
33
|
deferred_request.perform_later
|
34
|
+
|
35
|
+
deferred_request
|
34
36
|
end
|
35
37
|
|
36
38
|
def perform_later
|
data/lib/deferred_request.rb
CHANGED
@@ -4,5 +4,11 @@ require "deferred_request/engine"
|
|
4
4
|
module DeferredRequest
|
5
5
|
# Your code goes here...
|
6
6
|
mattr_accessor :model_parent_class
|
7
|
-
@@model_parent_class = "
|
7
|
+
@@model_parent_class = "ApplicationRecord"
|
8
|
+
|
9
|
+
mattr_accessor :deferred_request_instance_class
|
10
|
+
@@deferred_request_instance_class = "DeferredRequest::DeferredRequest"
|
11
|
+
|
12
|
+
mattr_accessor :job_queue
|
13
|
+
@@job_queue = "default"
|
8
14
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deferred_request
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Austin Miller
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-02-
|
11
|
+
date: 2022-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|