deferred_request 1.0.0 → 1.0.1

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: dd9cbe479d0ec2429ded46aacbdd786b3ba69b19dcbc32609ca7875bb51b97a5
4
- data.tar.gz: fbdb8dee9068fb03bc4e5b6385968be177ad8b6e0d15149304d5876b0ec20bdc
3
+ metadata.gz: 9f42d6bf58362f626487d9c3cb0eb217458f701f7a2914f3d61eecc16e2408f8
4
+ data.tar.gz: aab7531ae28bf9f9f7d9b489c2295c4d3f653c51926a97040702f3243adbb1e9
5
5
  SHA512:
6
- metadata.gz: db92fd506d4170270ba261ca9c3909809fd3b411b36b6141d7f207840e60abcb72fb2862b934de4c5ea72e8d7ac99453e6fe97f5e0766b95ca48435d551f9b5d
7
- data.tar.gz: 0bd4f541e34984dd95f19942577e5a968c8f9b2fadf8bcf6151982fa8aea970259bf41264279aa47eb9d67abe457444973881b7a22f94652016349976ed5feb4
6
+ metadata.gz: 6550b077f0211a6be67703a5532178d39c4f42e116d43f11c89b144e0c7bde7167bf0e7c1939cd4364bdc2cc5fcf0cd5e3c84533a10e10f896a4c4e9c0610223
7
+ data.tar.gz: d55b79b4b0e56f400aaba2b2599be015e71e153e0dc64a3cb484ae32b32aa613dbc42c870de5407b893f0aba761a5adde74e625c48c87dc14a7ecc7f8ca00382
data/README.md CHANGED
@@ -45,10 +45,7 @@ def status_callback
45
45
  head :ok
46
46
 
47
47
  # Then queue the request to run later
48
- deferred_request = DeferredRequest::DeferredRequest.from_request(request)
49
- deferred_request.save!
50
-
51
- deferred_request.peform_later
48
+ deferred_request = DeferredRequest::DeferredRequest.perform_later_from_request!(request)
52
49
  end
53
50
 
54
51
  # Your deferred request method will be called later (via a job)
@@ -0,0 +1,19 @@
1
+ module DeferredRequest
2
+ class TestController < ApplicationController
3
+ def status_callback
4
+ head :ok
5
+ DeferredRequest.perform_later_from_request!(request)
6
+ end
7
+
8
+ def status_callback_deferred(deferred_request)
9
+ # Do something with the deferred request
10
+ deferred_request.params.dig("answer")
11
+ end
12
+
13
+ def status_error
14
+ # don't add the "_deferred" method (used for testing)
15
+ head :ok
16
+ DeferredRequest.perform_later_from_request!(request)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,4 @@
1
+ module DeferredRequest
2
+ module TestHelper
3
+ end
4
+ end
@@ -1,7 +1,8 @@
1
1
  module DeferredRequest
2
2
  class DeferredRequest < ApplicationRecord
3
- serialize :routing, JSON
4
- serialize :request, JSON
3
+ serialize :routing
4
+ serialize :request
5
+ serialize :result
5
6
 
6
7
  store_accessor :routing, "controller", "action"
7
8
  store_accessor :request, "url", "method", "headers", "params", "remote_ip"
@@ -13,7 +14,7 @@ module DeferredRequest
13
14
  def self.from_request(request)
14
15
  deferred_request = DeferredRequest.new
15
16
 
16
- deferred_request.controller = request.controller_class
17
+ deferred_request.controller = request.controller_class.name
17
18
  deferred_request.action = request.params["action"]
18
19
 
19
20
  deferred_request.url = request.url
@@ -43,7 +44,7 @@ module DeferredRequest
43
44
 
44
45
  klass = controller.constantize.new
45
46
 
46
- self.result = klass.try("#{action}_deferred".to_sym, self)
47
+ self.result = klass.send("#{action}_deferred".to_sym, self)
47
48
  self.status = :complete
48
49
  rescue => e
49
50
  Rails.logger.error("DeferredRequest::DeferredRequestJob: #{e.message}")
data/config/routes.rb CHANGED
@@ -1,2 +1,4 @@
1
1
  DeferredRequest::Engine.routes.draw do
2
+ post "status_callback" => "test#status_callback"
3
+ post "status_error" => "test#status_error"
2
4
  end
@@ -1,3 +1,3 @@
1
1
  module DeferredRequest
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  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.0
4
+ version: 1.0.1
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-06 00:00:00.000000000 Z
11
+ date: 2022-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -52,7 +52,9 @@ files:
52
52
  - app/assets/config/deferred_request_manifest.js
53
53
  - app/assets/stylesheets/deferred_request/application.css
54
54
  - app/controllers/deferred_request/application_controller.rb
55
+ - app/controllers/deferred_request/test_controller.rb
55
56
  - app/helpers/deferred_request/application_helper.rb
57
+ - app/helpers/deferred_request/test_helper.rb
56
58
  - app/jobs/deferred_request/application_job.rb
57
59
  - app/jobs/deferred_request/deferred_request_job.rb
58
60
  - app/mailers/deferred_request/application_mailer.rb