aws_cron 0.1.3 → 0.1.4
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 +4 -4
- data/lib/aws_cron/controller.rb +18 -4
- data/lib/aws_cron/identity.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6aa2ab0da26e101c0b95cd7ffe7a4d247d934fe
|
4
|
+
data.tar.gz: 6095bd824b8edb0e062245717985b79342ef6ad5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c53a1ef4e4dadee7699dec9da781bcef989ac2de11d6d3c9a0e9df24c3a82da96157c38063bc6ab5a02fed1d465d57f652587711c5041d41fbc575c614962990
|
7
|
+
data.tar.gz: 3eb2190e89d7ab91cb3d8e9d5b8f99659f0abea7eb23e0554a9137802c1c14e1d86d9a5e40cd3e40195ef2d5eb2bcd4d57570a4054f4c6e2f526429f7ed5e8fc
|
data/lib/aws_cron/controller.rb
CHANGED
@@ -7,13 +7,23 @@ module AwsCron
|
|
7
7
|
module Controller
|
8
8
|
extend ActiveSupport::Concern
|
9
9
|
|
10
|
+
class_methods do
|
11
|
+
def timezone(name)
|
12
|
+
@aws_time_provider = ActiveSupport::TimeZone.new(name)
|
13
|
+
end
|
14
|
+
|
15
|
+
def aws_time_provider
|
16
|
+
@aws_time_provider
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
10
20
|
# Runs block and ensures error logging and proper JSON return
|
11
21
|
def run(&block)
|
12
22
|
yield
|
13
23
|
rescue => exception
|
14
24
|
AwsCron::log(:error, exception)
|
15
25
|
ensure
|
16
|
-
|
26
|
+
return_object
|
17
27
|
end
|
18
28
|
|
19
29
|
# Runs block using defined timezone for cron scheduling
|
@@ -24,7 +34,7 @@ module AwsCron
|
|
24
34
|
# check programmatically if it needs to be triggered
|
25
35
|
def run_in_tz(cron_str, &block)
|
26
36
|
run do
|
27
|
-
CronRunner.new(cron_str, time_provider).run do
|
37
|
+
CronRunner.new(cron_str, self.class.aws_time_provider || time_provider || Time).run do
|
28
38
|
yield
|
29
39
|
end
|
30
40
|
end
|
@@ -33,11 +43,15 @@ module AwsCron
|
|
33
43
|
protected
|
34
44
|
|
35
45
|
def return_object
|
36
|
-
|
46
|
+
if respond_to?(:render) # Check for ActionController::Rendering
|
47
|
+
render :json => {message: 'ok'}
|
48
|
+
else
|
49
|
+
raise SecurityError('You must implement return_object with a 200 HTTP response using your preferred web framework')
|
50
|
+
end
|
37
51
|
end
|
38
52
|
|
53
|
+
# Please use <tt>timezone</tt>, unless you need a custom time provider.
|
39
54
|
def time_provider
|
40
|
-
Time
|
41
55
|
end
|
42
56
|
end
|
43
57
|
end
|
data/lib/aws_cron/identity.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws_cron
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marco Costa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|