sidetiq-timezone 0.2.0 → 0.3.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 +4 -4
- data/README.md +6 -1
- data/lib/sidetiq-timezone.rb +13 -0
- data/lib/sidetiq-timezone/clock.rb +36 -0
- data/lib/sidetiq-timezone/schedulable.rb +27 -0
- data/lib/sidetiq-timezone/schedule.rb +23 -0
- data/lib/sidetiq-timezone/version.rb +5 -0
- data/sidetiq-timezone.gemspec +4 -4
- metadata +11 -17
- data/lib/sidetiq/timezone.rb +0 -15
- data/lib/sidetiq/timezone/clock.rb +0 -38
- data/lib/sidetiq/timezone/schedulable.rb +0 -29
- data/lib/sidetiq/timezone/schedule.rb +0 -25
- data/lib/sidetiq/timezone/version.rb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac8d5781927373d6dcaa3dea796031d957791bde
|
4
|
+
data.tar.gz: af7ce935a4a00c85d225611a4d488279c282f560
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2fd3da0ac7a6f88d423fec82364f4143c7571bd492ba356e15c31fb519201a8d16a14b56990af403d20a1f8a8cdeb49b9280c136cba6252f06b7c139e32510a
|
7
|
+
data.tar.gz: b5eaa65e7500a7ae6512246ed98851cc6403643f7e73c866917ba044d713297c14c5186840b25a3403f582e4fc24a40706f7332e7b03346543f2459368cdc5ad
|
data/README.md
CHANGED
@@ -48,9 +48,14 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
48
48
|
|
49
49
|
## Version History
|
50
50
|
|
51
|
+
- 0.3.0
|
52
|
+
|
53
|
+
Change the namespace from Sidetiq::Timezone to SidetiqTimezone and
|
54
|
+
sidetiq/timezone to sidetiq-timezone to avoid pollution
|
55
|
+
|
51
56
|
- 0.2.0
|
52
57
|
|
53
|
-
Support Sidetiq 0.
|
58
|
+
Support Sidetiq 0.7 (no functional change, just dependency updates)
|
54
59
|
|
55
60
|
- 0.1.0
|
56
61
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# :markup: markdown
|
2
|
+
|
3
|
+
require 'sidetiq'
|
4
|
+
require 'active_support/time'
|
5
|
+
|
6
|
+
# Adds time zone support to Sidetiq.
|
7
|
+
module SidetiqTimezone
|
8
|
+
end
|
9
|
+
|
10
|
+
require 'sidetiq-timezone/version'
|
11
|
+
require 'sidetiq-timezone/clock'
|
12
|
+
require 'sidetiq-timezone/schedule'
|
13
|
+
require 'sidetiq-timezone/schedulable'
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# :markup: markdown
|
2
|
+
|
3
|
+
module SidetiqTimezone
|
4
|
+
# Adds an accessor `time_zone`.
|
5
|
+
module Clock
|
6
|
+
attr_accessor :time_zone
|
7
|
+
|
8
|
+
def time_zone=(time_zone)
|
9
|
+
info "Using the time zone: #{time_zone ? time_zone.name : 'none'}"
|
10
|
+
@time_zone = time_zone
|
11
|
+
end
|
12
|
+
|
13
|
+
def gettime
|
14
|
+
if @time_zone
|
15
|
+
@time_zone.now
|
16
|
+
else
|
17
|
+
super
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class Sidetiq::Clock
|
24
|
+
prepend SidetiqTimezone::Clock
|
25
|
+
|
26
|
+
##
|
27
|
+
# :attr_accessor: time_zone
|
28
|
+
#
|
29
|
+
# Time zone for Sidetiq. If you don't set this, it is
|
30
|
+
# automatically set to `Time.zone` when the first class to include
|
31
|
+
# `Sidetiq::Schedulable` is defined.
|
32
|
+
#
|
33
|
+
# ```ruby
|
34
|
+
# Sidetiq.clock.time_zone = ActiveSupport::TimeZone['Tokyo']
|
35
|
+
# ```
|
36
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# :markup: markdown
|
2
|
+
|
3
|
+
module SidetiqTimezone
|
4
|
+
module Schedulable
|
5
|
+
# Automatically sets the application time zone for Sidetiq when
|
6
|
+
# a (first) worker is defined.
|
7
|
+
module ClassMethods
|
8
|
+
def included(klass)
|
9
|
+
super
|
10
|
+
Sidetiq.clock.time_zone ||= Time.zone
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
module Sidetiq::Schedulable
|
17
|
+
class << self
|
18
|
+
prepend SidetiqTimezone::Schedulable::ClassMethods
|
19
|
+
end
|
20
|
+
|
21
|
+
module ClassMethods
|
22
|
+
# Returns Sidetiq.clock.time_zone.
|
23
|
+
def time_zone
|
24
|
+
Sidetiq.clock.time_zone
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# :markup: markdown
|
2
|
+
|
3
|
+
module SidetiqTimezone
|
4
|
+
module Schedule
|
5
|
+
# Makes start_time adopt the application time zone.
|
6
|
+
module ClassMethods
|
7
|
+
def start_time
|
8
|
+
start_time = super
|
9
|
+
if time_zone = Sidetiq.clock.time_zone
|
10
|
+
time_zone.local(start_time.year, start_time.month, start_time.day)
|
11
|
+
else
|
12
|
+
start_time
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class Sidetiq::Schedule
|
20
|
+
class << self
|
21
|
+
prepend SidetiqTimezone::Schedule::ClassMethods
|
22
|
+
end
|
23
|
+
end
|
data/sidetiq-timezone.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'sidetiq
|
4
|
+
require 'sidetiq-timezone/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "sidetiq-timezone"
|
8
|
-
spec.version =
|
8
|
+
spec.version = SidetiqTimezone::VERSION
|
9
9
|
spec.authors = ["Akinori MUSHA"]
|
10
10
|
spec.email = ["knu@idaemons.org"]
|
11
11
|
|
@@ -28,10 +28,10 @@ EOF
|
|
28
28
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
29
29
|
spec.require_paths = ["lib"]
|
30
30
|
|
31
|
-
spec.add_runtime_dependency "sidetiq",
|
31
|
+
spec.add_runtime_dependency "sidetiq", "~> 0.6"
|
32
32
|
spec.add_runtime_dependency "activesupport", ">= 0"
|
33
33
|
|
34
34
|
spec.add_development_dependency "bundler", "~> 1.8"
|
35
|
-
spec.add_development_dependency "rake", "
|
35
|
+
spec.add_development_dependency "rake", ">= 10.0"
|
36
36
|
spec.add_development_dependency "rspec"
|
37
37
|
end
|
metadata
CHANGED
@@ -1,35 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidetiq-timezone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Akinori MUSHA
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sidetiq
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0.6'
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '0.9'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- - "
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0.6'
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '0.9'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: activesupport
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -62,14 +56,14 @@ dependencies:
|
|
62
56
|
name: rake
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
64
58
|
requirements:
|
65
|
-
- - "
|
59
|
+
- - ">="
|
66
60
|
- !ruby/object:Gem::Version
|
67
61
|
version: '10.0'
|
68
62
|
type: :development
|
69
63
|
prerelease: false
|
70
64
|
version_requirements: !ruby/object:Gem::Requirement
|
71
65
|
requirements:
|
72
|
-
- - "
|
66
|
+
- - ">="
|
73
67
|
- !ruby/object:Gem::Version
|
74
68
|
version: '10.0'
|
75
69
|
- !ruby/object:Gem::Dependency
|
@@ -105,11 +99,11 @@ files:
|
|
105
99
|
- Rakefile
|
106
100
|
- bin/console
|
107
101
|
- bin/setup
|
108
|
-
- lib/sidetiq
|
109
|
-
- lib/sidetiq
|
110
|
-
- lib/sidetiq
|
111
|
-
- lib/sidetiq
|
112
|
-
- lib/sidetiq
|
102
|
+
- lib/sidetiq-timezone.rb
|
103
|
+
- lib/sidetiq-timezone/clock.rb
|
104
|
+
- lib/sidetiq-timezone/schedulable.rb
|
105
|
+
- lib/sidetiq-timezone/schedule.rb
|
106
|
+
- lib/sidetiq-timezone/version.rb
|
113
107
|
- sidetiq-timezone.gemspec
|
114
108
|
homepage: https://github.com/knu/sidetiq-timezone
|
115
109
|
licenses:
|
data/lib/sidetiq/timezone.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# :markup: markdown
|
2
|
-
|
3
|
-
require 'sidetiq'
|
4
|
-
require 'active_support/time'
|
5
|
-
|
6
|
-
module Sidetiq
|
7
|
-
# Adds time zone support to Sidetiq.
|
8
|
-
module Timezone
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
require 'sidetiq/timezone/version'
|
13
|
-
require 'sidetiq/timezone/clock'
|
14
|
-
require 'sidetiq/timezone/schedule'
|
15
|
-
require 'sidetiq/timezone/schedulable'
|
@@ -1,38 +0,0 @@
|
|
1
|
-
# :markup: markdown
|
2
|
-
|
3
|
-
module Sidetiq
|
4
|
-
module Timezone
|
5
|
-
# Adds an accessor `time_zone`.
|
6
|
-
module Clock
|
7
|
-
attr_accessor :time_zone
|
8
|
-
|
9
|
-
def time_zone=(time_zone)
|
10
|
-
info "Using the time zone: #{time_zone ? time_zone.name : 'none'}"
|
11
|
-
@time_zone = time_zone
|
12
|
-
end
|
13
|
-
|
14
|
-
def gettime
|
15
|
-
if @time_zone
|
16
|
-
@time_zone.now
|
17
|
-
else
|
18
|
-
super
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
class Clock
|
25
|
-
prepend Timezone::Clock
|
26
|
-
|
27
|
-
##
|
28
|
-
# :attr_accessor: time_zone
|
29
|
-
#
|
30
|
-
# Time zone for Sidetiq. If you don't set this, it is
|
31
|
-
# automatically set to `Time.zone` when the first class to include
|
32
|
-
# `Sidetiq::Schedulable` is defined.
|
33
|
-
#
|
34
|
-
# ```ruby
|
35
|
-
# Sidetiq.clock.time_zone = ActiveSupport::TimeZone['Tokyo']
|
36
|
-
# ```
|
37
|
-
end
|
38
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
# :markup: markdown
|
2
|
-
|
3
|
-
module Sidetiq
|
4
|
-
module Timezone
|
5
|
-
module Schedulable
|
6
|
-
# Automatically sets the application time zone for Sidetiq when
|
7
|
-
# a (first) worker is defined.
|
8
|
-
module ClassMethods
|
9
|
-
def included(klass)
|
10
|
-
super
|
11
|
-
Sidetiq.clock.time_zone ||= Time.zone
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
module Schedulable
|
18
|
-
class << self
|
19
|
-
prepend Timezone::Schedulable::ClassMethods
|
20
|
-
end
|
21
|
-
|
22
|
-
module ClassMethods
|
23
|
-
# Returns Sidetiq.clock.time_zone.
|
24
|
-
def time_zone
|
25
|
-
Sidetiq.clock.time_zone
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# :markup: markdown
|
2
|
-
|
3
|
-
module Sidetiq
|
4
|
-
module Timezone
|
5
|
-
module Schedule
|
6
|
-
# Makes start_time adopt the application time zone.
|
7
|
-
module ClassMethods
|
8
|
-
def start_time
|
9
|
-
start_time = super
|
10
|
-
if time_zone = Sidetiq.clock.time_zone
|
11
|
-
time_zone.local(start_time.year, start_time.month, start_time.day)
|
12
|
-
else
|
13
|
-
start_time
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
class Schedule
|
21
|
-
class << self
|
22
|
-
prepend Timezone::Schedule::ClassMethods
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|