deferred_request 1.0.2 → 2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a12d759682c3ca5d2e1171cc6da944e80ce6a9b0f3ccfb65dcaca5d10b2a0c9
4
- data.tar.gz: 6ef803175b32093e08d330caebb28d06fbd31e0c3db33f34304ec3163b31e63a
3
+ metadata.gz: 767304360350c5d690e54bb5c5f8f259597dc3c9f1e29184df96a6965dca64d3
4
+ data.tar.gz: a2060f2c047dc3d577af734601e3bbed6dd8dc3dea000197c1feac55e8815c46
5
5
  SHA512:
6
- metadata.gz: d2efcff67bba0f0d7fcd75ae8e08e8cb120412753cc1a1e5439ea37b13bae5323095a866e9d7671be31c13701e8c85aeeb060592537d9b1e087a658884a08cb7
7
- data.tar.gz: 5004f590c976b08777e42753b19bb53588dfe54386e6470818ab366f60b363748f0c87728c963a499eba0cd6fafcbba0b422430c35353f784ff3d10921ff5399
6
+ metadata.gz: 97ae240387e00595685a9ff5e7716d2e32f34d35e1442dac95bf6651cdb4d25069dfdfdacc348f473e2b777e69993008f776d06c23e45dac572440a6d23aea07
7
+ data.tar.gz: 3fce0e36f767377078884778aeca7cfa540a63804873b80ce54fa51bd05839aa7a43ff484febe625b45fa36c2ac9d9e89ba7aeb5f30c19b3811422d9fd91f007
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Gem Version](https://badge.fury.io/rb/deferred_request.svg)](https://badge.fury.io/rb/deferred_request)
2
+
1
3
  # Deferred Request
2
4
  A simple plugin to defer an http request until you can actually process it. This is good in situtations where work performed is not needed immidiately (think status callbacks from services like Twilio or Stripe). This pattern can help prevent you from getting DDoS'd by services you might interact with.
3
5
 
@@ -1,13 +1,13 @@
1
1
  module DeferredRequest
2
2
  class DeferredRequest < DeferredRequest.model_parent_class.constantize
3
- serialize :routing
4
- serialize :request
5
- serialize :result
3
+ serialize :routing, coder: JSON
4
+ serialize :request, coder: JSON
5
+ serialize :result, coder: JSON
6
6
 
7
7
  store_accessor :routing, "controller", "action"
8
- store_accessor :request, "url", "method", "headers", "params", "remote_ip"
8
+ store_accessor :request, "url", "method", "headers", "params", "remote_ip", "body"
9
9
 
10
- enum status: {queued: 0, processing: 1, complete: 2, error: 99}
10
+ enum :status, {queued: 0, processing: 1, complete: 2, error: 99}
11
11
 
12
12
  # request: ActionDispatch::Request
13
13
  # create a deferred request from a ActionDispatch::Request
@@ -21,6 +21,7 @@ module DeferredRequest
21
21
  deferred_request.method = request.method
22
22
  deferred_request.headers = get_headers(request)
23
23
  deferred_request.params = request.params.except(:controller, :action)
24
+ deferred_request.body = request.body.read
24
25
  deferred_request.remote_ip = request.remote_ip
25
26
 
26
27
  deferred_request
@@ -46,7 +47,7 @@ module DeferredRequest
46
47
 
47
48
  klass = controller.constantize.new
48
49
 
49
- self.result = klass.send("#{action}_deferred".to_sym, self)
50
+ self.result = klass.send(:"#{action}_deferred", self)
50
51
  self.status = :complete
51
52
  rescue => e
52
53
  Rails.logger.error("DeferredRequest::DeferredRequestJob: #{e.message}")
@@ -1,3 +1,3 @@
1
1
  module DeferredRequest
2
- VERSION = "1.0.2"
2
+ VERSION = "2.0.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deferred_request
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Austin Miller
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2022-02-22 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rails
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 6.0.0
18
+ version: '7.1'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: 6.0.0
25
+ version: '7.1'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: standardrb
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -74,7 +73,6 @@ metadata:
74
73
  homepage_uri: https://github.com/armiiller/deferred_request
75
74
  source_code_uri: https://github.com/armiiller/deferred_request
76
75
  changelog_uri: https://github.com/armiiller/deferred_request/blob/master/CHANGELOG.md
77
- post_install_message:
78
76
  rdoc_options: []
79
77
  require_paths:
80
78
  - lib
@@ -89,8 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
87
  - !ruby/object:Gem::Version
90
88
  version: '0'
91
89
  requirements: []
92
- rubygems_version: 3.2.3
93
- signing_key:
90
+ rubygems_version: 3.6.9
94
91
  specification_version: 4
95
92
  summary: Deferred Request
96
93
  test_files: []