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 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