aws_cron 0.1.3 → 0.1.4

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: f738118da7f17c26961f99904538ce8c99db1415
4
- data.tar.gz: ba0570b3818810e1767d6b0f9dff32d6aba34e94
3
+ metadata.gz: d6aa2ab0da26e101c0b95cd7ffe7a4d247d934fe
4
+ data.tar.gz: 6095bd824b8edb0e062245717985b79342ef6ad5
5
5
  SHA512:
6
- metadata.gz: 669f655281b2f9c50471598ff530dd8c49d2f1fd30cc9283aa937efa62db6d9f50ecefb4ee0fc288d8ce334653eed176d9591fd2af80c42cf0006d94ced0db68
7
- data.tar.gz: b5ffab3eaa67464489a182c85abca854f67c8c4405b6dd2ea830e1e3882cb4bb9ec3b45ed1d747ee157fe59b3faf1e38285667eefc04f26bd9b5069cada1c2c3
6
+ metadata.gz: c53a1ef4e4dadee7699dec9da781bcef989ac2de11d6d3c9a0e9df24c3a82da96157c38063bc6ab5a02fed1d465d57f652587711c5041d41fbc575c614962990
7
+ data.tar.gz: 3eb2190e89d7ab91cb3d8e9d5b8f99659f0abea7eb23e0554a9137802c1c14e1d86d9a5e40cd3e40195ef2d5eb2bcd4d57570a4054f4c6e2f526429f7ed5e8fc
@@ -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
- self.return_object
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
- raise SecurityError('You must implement return_object with a 200 HTTP response using your preferred web framework')
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
@@ -12,7 +12,7 @@ module AwsCron
12
12
  end
13
13
 
14
14
  def self.version
15
- "0.1.3"
15
+ "0.1.4"
16
16
  end
17
17
 
18
18
  def self.version_label
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.3
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-23 00:00:00.000000000 Z
11
+ date: 2016-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport