active_waiter 0.3.2 → 0.3.3

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
  SHA1:
3
- metadata.gz: 397d4a3c5c8b298ae3d6dc7c5d9c8ee5a0ac5b7a
4
- data.tar.gz: 5a6781a8b4925cc22ff4ab7d8444032bf159ff16
3
+ metadata.gz: 68c332e792c09a74047e5bd43c141f56f0c9a884
4
+ data.tar.gz: 704c364920f7e00e2ee326f4821cfa88cd7bccc8
5
5
  SHA512:
6
- metadata.gz: b53766bdfb8bdf4017d4459d4fc5d89fda011e23e3e0aface14af12fba6268aacc9265e996b03540e88cf68ee995f0941bdccd366c3a2fd9589fad74299ee032
7
- data.tar.gz: 0c49d57ac9c125492b736057ee8ff039b8b5f7093f7e249925b945d5f4243b3027a4421235d41c9773130dc44776f9b0606b3a745b0d52dcb9debdbd78387d06
6
+ metadata.gz: 562bf267da981984180e6fa34ad21096c0ac3521d573ca9ffedead6f6bf5b1344e3cad03a13fab7b88496fcc941fd3ae32ddc7d328c7ecf271075a262333a84e
7
+ data.tar.gz: ead53d29b6d49e1e439e5b9c647ca363c6864cdab37f904ca43ec91386915a5c6bec0ffca83b42ec71ed68638f94b2f010ac8ef0c65716735ae8d18bce99062e
data/README.md CHANGED
@@ -37,7 +37,7 @@ def index
37
37
  format.html
38
38
  format.pdf {
39
39
  uid = ActiveWaiter.enqueue(ExportPdfJob, @things, current_user)
40
- redirect_to active_waiter_path(uid)
40
+ redirect_to active_waiter_path(id: uid)
41
41
  }
42
42
  end
43
43
  end
@@ -45,13 +45,13 @@ end
45
45
 
46
46
  ``` ruby
47
47
  # routes.rb
48
- mount ActiveWaiter::Engine => "/active_waiter(/:id)"
48
+ mount ActiveWaiter::Engine => "/active_waiter"
49
49
  ```
50
50
 
51
51
  When the job completes, the user will be redirected to the `url` returned by the job. However, if you want the user to be presented with a download link, add `download: 1` params instead
52
52
 
53
53
  ``` ruby
54
- redirect_to active_waiter_path(uid, download: 1)
54
+ redirect_to active_waiter_path(id: uid, download: 1)
55
55
  ```
56
56
 
57
57
  ![active_waiter mov](https://cloud.githubusercontent.com/assets/473/7785141/c4667734-01b4-11e5-8974-3a3b00b3a4b6.gif)
@@ -108,6 +108,29 @@ Next, prefix any routes used in your application's layout with `main_app.`, e.g.
108
108
  This is required because `ActiveWaiter` is a Rails Engine mounted into your application,
109
109
  and it doesn't know about the routes declared within your application.
110
110
 
111
+ #### Changing the shared cache
112
+
113
+ For deploying in production environments, `ActiveWaiter` requires a shared cache to
114
+ track the status of downloads. By default it uses the Rails cache. If you want to
115
+ use something else other than the Rails cache like redis for example, you may specify
116
+ your own implementation:
117
+
118
+ ```ruby
119
+ class RedisStore
120
+ def write(uid, value)
121
+ $redis.set("active_waiter:#{uid}", value)
122
+ end
123
+
124
+ def read(uid)
125
+ $redis.get("active_waiter:#{uid}")
126
+ end
127
+ end
128
+
129
+ ActiveWaiter.configure do |config|
130
+ config.store = RedisStore.new
131
+ end
132
+ ```
133
+
111
134
  #### Exceptions
112
135
 
113
136
  When your job gets an exception, the error message will be written in the error message and passed along
@@ -1,3 +1,3 @@
1
1
  <script>
2
- setTimeout(function() { window.location.href = <%= url_for(params.merge(retries: @retries)).to_json.html_safe %>; }, 2000);
2
+ setTimeout(function() { window.location.href = <%= url_for(params.permit!.merge(retries: @retries)).to_json.html_safe %>; }, 2000);
3
3
  </script>
data/lib/active_waiter.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "active_waiter/engine"
2
+ require "active_waiter/store"
2
3
  require "active_waiter/configuration"
3
4
  require "active_waiter/job"
4
5
  require "active_waiter/enumerable_job"
@@ -17,11 +18,11 @@ module ActiveWaiter
17
18
  end
18
19
 
19
20
  def write(uid, value)
20
- Rails.cache.write("active_waiter:#{uid}", value)
21
+ ActiveWaiter.configuration.store.write(uid, value)
21
22
  end
22
23
 
23
24
  def read(uid)
24
- Rails.cache.read("active_waiter:#{uid}")
25
+ ActiveWaiter.configuration.store.read(uid)
25
26
  end
26
27
  end
27
28
  end
@@ -12,6 +12,10 @@ module ActiveWaiter
12
12
  end
13
13
 
14
14
  class Configuration
15
- attr_accessor :layout
15
+ attr_accessor :layout, :store
16
+
17
+ def initialize
18
+ @store = ActiveWaiter::Store.new
19
+ end
16
20
  end
17
21
  end
@@ -0,0 +1,11 @@
1
+ module ActiveWaiter
2
+ class Store
3
+ def write(uid, value)
4
+ Rails.cache.write("active_waiter:#{uid}", value)
5
+ end
6
+
7
+ def read(uid)
8
+ Rails.cache.read("active_waiter:#{uid}")
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module ActiveWaiter
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_waiter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - choonkeat
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-27 00:00:00.000000000 Z
11
+ date: 2016-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '4.2'
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: 4.2.0
22
+ version: '5.1'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: 4.2.0
29
+ version: '4.2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.1'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: guard
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +72,20 @@ dependencies:
66
72
  - - ">="
67
73
  - !ruby/object:Gem::Version
68
74
  version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rails-controller-testing
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
69
89
  description: A simple mechanism allowing your users to wait for the completion of
70
90
  your `ActiveJob`
71
91
  email:
@@ -94,6 +114,7 @@ files:
94
114
  - lib/active_waiter/engine.rb
95
115
  - lib/active_waiter/enumerable_job.rb
96
116
  - lib/active_waiter/job.rb
117
+ - lib/active_waiter/store.rb
97
118
  - lib/active_waiter/version.rb
98
119
  - lib/tasks/waiter_tasks.rake
99
120
  homepage: https://github.com/choonkeat/active_waiter
@@ -116,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
137
  version: '0'
117
138
  requirements: []
118
139
  rubyforge_project:
119
- rubygems_version: 2.4.6
140
+ rubygems_version: 2.5.2
120
141
  signing_key:
121
142
  specification_version: 4
122
143
  summary: ActiveWaiter for background jobs to finish