dynarex_cron 0.2.4 → 0.2.5
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
- checksums.yaml.gz.sig +0 -0
- data/lib/dynarex_cron.rb +31 -18
- data.tar.gz.sig +0 -0
- metadata +14 -14
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c96a52e108c3548cfdd0ace9597459948c3f3f0d
|
4
|
+
data.tar.gz: 80b2145ba25bc05a262f12d51afa7ac0c54597f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 571ebc4a746d47f3985fbd4885570be16c82351eee94f0cec70611861eceb80577677586b65cc00500bb0b34f8ae625fad505c80c312d732023d74059675a054
|
7
|
+
data.tar.gz: e20579ba72f4ea5bfbe8cc630e2c497dd47aa63944762015e6f28b6546b73b11b39ce9955ed3eb754828bba89529a95a9c471f2a193751c4bf61d9f82cb32756
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/dynarex_cron.rb
CHANGED
@@ -13,9 +13,11 @@ DF = "%Y-%m-%d %H:%M"
|
|
13
13
|
|
14
14
|
class DynarexCron
|
15
15
|
|
16
|
+
# options: e.g. sps_address, 'sps', drb_server: 57000
|
17
|
+
#
|
16
18
|
def initialize(dynarex_file=nil, options={})
|
17
19
|
|
18
|
-
opt = {sps_address: nil, drb_server:
|
20
|
+
opt = {sps_address: nil, drb_server: nil, log: nil}.merge options
|
19
21
|
@logger = Logger.new(opt[:log],'weekly') if opt[:log]
|
20
22
|
|
21
23
|
@cron_entries, @cron_events = [], []
|
@@ -26,12 +28,12 @@ class DynarexCron
|
|
26
28
|
|
27
29
|
@sps_address = opt[:sps_address]
|
28
30
|
|
29
|
-
if opt[:drb_server]
|
31
|
+
if opt[:drb_server] then
|
30
32
|
|
31
33
|
Thread.new {
|
32
34
|
|
33
35
|
# start up the DRb service
|
34
|
-
DRb.start_service 'druby://:
|
36
|
+
DRb.start_service 'druby://:' + opt[:drb_server], self
|
35
37
|
|
36
38
|
# wait for the DRb service to finish before exiting
|
37
39
|
DRb.thread.join
|
@@ -124,27 +126,30 @@ class DynarexCron
|
|
124
126
|
|
125
127
|
end
|
126
128
|
|
129
|
+
|
127
130
|
class DynarexEvents < DynarexCron
|
128
131
|
|
129
132
|
attr_reader :to_a
|
130
133
|
|
134
|
+
# options: e.g. sps_address, 'sps', drb_server: 58000
|
135
|
+
#
|
131
136
|
def initialize(dynarex_file=nil, options={})
|
132
137
|
|
133
|
-
opt = {sps_address: nil, drb_server:
|
134
|
-
|
135
|
-
@cron_events = []
|
138
|
+
opt = {sps_address: nil, drb_server: nil}.merge options
|
136
139
|
|
140
|
+
@entries, @cron_events = [], []
|
141
|
+
|
137
142
|
@dynarex_file = dynarex_file
|
138
143
|
load_events()
|
139
144
|
|
140
145
|
@sps_address = opt[:sps_address]
|
141
146
|
|
142
|
-
if opt[:drb_server]
|
143
|
-
|
147
|
+
if opt[:drb_server] then
|
148
|
+
|
144
149
|
Thread.new {
|
145
150
|
|
146
151
|
# start up the DRb service
|
147
|
-
DRb.start_service 'druby://:
|
152
|
+
DRb.start_service 'druby://:' + opt[:drb_server], self
|
148
153
|
|
149
154
|
# wait for the DRb service to finish before exiting
|
150
155
|
DRb.thread.join
|
@@ -152,11 +157,18 @@ class DynarexEvents < DynarexCron
|
|
152
157
|
end
|
153
158
|
end
|
154
159
|
|
160
|
+
def add_entry(h)
|
161
|
+
# if the entry already exists delete it
|
162
|
+
@entries.delete @entries.find {|x| x[:job] == h[:job]}
|
163
|
+
@entries << h
|
164
|
+
end
|
165
|
+
|
155
166
|
def load_events()
|
156
167
|
|
157
168
|
dynarex = Dynarex.new @dynarex_file
|
158
|
-
@entries = dynarex.to_h
|
159
|
-
@cron_events = self.to_a
|
169
|
+
@entries = dynarex.to_h || @entries
|
170
|
+
@cron_events = self.to_a if @entries
|
171
|
+
'events loaded and refreshed'
|
160
172
|
end
|
161
173
|
|
162
174
|
alias refresh load_events
|
@@ -172,16 +184,17 @@ class DynarexEvents < DynarexCron
|
|
172
184
|
end
|
173
185
|
|
174
186
|
def to_a()
|
175
|
-
|
187
|
+
|
188
|
+
return unless @entries
|
189
|
+
|
176
190
|
@entries.inject([]) do |r,h|
|
177
191
|
|
178
|
-
h[:cron] = ChronicCron.new(h[:date])
|
179
|
-
h[:job]
|
192
|
+
h[:cron] = ChronicCron.new(h[:date] + ' ' + h[:recurring].to_s )
|
193
|
+
h[:job] ||= 'pub event: ' + h[:title]
|
180
194
|
|
181
|
-
if h[:reminder].length > 0 then
|
195
|
+
if h[:reminder].to_s.length > 0 then
|
182
196
|
rmndr = {}
|
183
|
-
rmndr[:cron] = ChronicCron.new((Chronic.parse(h[:date]) -
|
184
|
-
ChronicDuration.parse(h[:reminder])).to_s)
|
197
|
+
rmndr[:cron] = ChronicCron.new((Chronic.parse(h[:date]) - ChronicDuration.parse(h[:reminder])).to_s)
|
185
198
|
rmndr[:job] = 'pub event: reminder ' + h[:title]
|
186
199
|
r << rmndr
|
187
200
|
end
|
@@ -190,4 +203,4 @@ class DynarexEvents < DynarexCron
|
|
190
203
|
end
|
191
204
|
|
192
205
|
end
|
193
|
-
end
|
206
|
+
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dynarex_cron
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -31,76 +31,76 @@ cert_chain:
|
|
31
31
|
y6cNz+NnybgoQfG28NcwV1e/31NTJk5VqdKHKnTfPcp/y35T9YoElNn5cSs93qc5
|
32
32
|
U5VVkvsVQudaZw==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2013-
|
34
|
+
date: 2013-10-26 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: dynarex
|
38
38
|
requirement: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '0'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '0'
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: chronic_cron
|
52
52
|
requirement: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
|
-
- -
|
54
|
+
- - ">="
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '0'
|
57
57
|
type: :runtime
|
58
58
|
prerelease: false
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- -
|
61
|
+
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: '0'
|
64
64
|
- !ruby/object:Gem::Dependency
|
65
65
|
name: simplepubsub
|
66
66
|
requirement: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- -
|
68
|
+
- - ">="
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '0'
|
71
71
|
type: :runtime
|
72
72
|
prerelease: false
|
73
73
|
version_requirements: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
|
-
- -
|
75
|
+
- - ">="
|
76
76
|
- !ruby/object:Gem::Version
|
77
77
|
version: '0'
|
78
78
|
- !ruby/object:Gem::Dependency
|
79
79
|
name: rscript
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
|
-
- -
|
82
|
+
- - ">="
|
83
83
|
- !ruby/object:Gem::Version
|
84
84
|
version: '0'
|
85
85
|
type: :runtime
|
86
86
|
prerelease: false
|
87
87
|
version_requirements: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- -
|
89
|
+
- - ">="
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: '0'
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: chronic_duration
|
94
94
|
requirement: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
|
-
- -
|
96
|
+
- - ">="
|
97
97
|
- !ruby/object:Gem::Version
|
98
98
|
version: '0'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
101
|
version_requirements: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
|
-
- -
|
103
|
+
- - ">="
|
104
104
|
- !ruby/object:Gem::Version
|
105
105
|
version: '0'
|
106
106
|
description:
|
@@ -120,12 +120,12 @@ require_paths:
|
|
120
120
|
- lib
|
121
121
|
required_ruby_version: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
|
-
- -
|
123
|
+
- - ">="
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
version: '0'
|
126
126
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
|
-
- -
|
128
|
+
- - ">="
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: '0'
|
131
131
|
requirements: []
|
metadata.gz.sig
CHANGED
Binary file
|