dynarex-events 0.1.0 → 0.1.1

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: 6a261aad41267263cea32b553245ca4644ec9df5
4
- data.tar.gz: 5ad6238606d9e653db9b5f76b8afd0f2b2e97a8f
3
+ metadata.gz: 6f25fe6679298d8b8b27fcc939878e78c3895e57
4
+ data.tar.gz: ffe43fbe191c7969b875a058309f55737c818632
5
5
  SHA512:
6
- metadata.gz: 245fb2e0e75a9fde3b0165e8c701dfab02dcdeff4b82776df260075e9907fe2e43ac086880a4bd4f8aed0c182448d7a6fdef6f8e12368bf93fa558c870ac90b0
7
- data.tar.gz: 71deefd1c457b0c4f3879372f2ebde7aa31aaed334ae3a1f0c0061951536e4ef505948b0c526fc66f53e0ce737518232802d0d832c23182ef18aa8ee3062991f
6
+ metadata.gz: 8ca6cf4205dd78a613b6edb5e649c137db7c841d3736335c17c13892caeaf6a95301b88ad03a8b46ffaa765216858e083544a640aaf0e50d7bc582cac0677ce4
7
+ data.tar.gz: d48f9a08f0300078664c412f0dbfa5daed0e90f2a86ba65947315dee7b73e87ee6f82f461b2a420d359e748a5843df8d2bd62db5b1d969053e6aa7d40769b18b
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
@@ -1,2 +1 @@
1
- (����a���9���jx�!��t/M��
2
- Oʢszȳ�e�G�� �.�z�����Mj��O���zTD2&|l�S��f��S�o�Ԋw��Q�r1BG�2E��OxN'�=��n=��2ٺ4�y���󙋥�E:���ͮ�Z�ԥ��3��ߊ5���p3d�z�zM ��Rf��9FQ�^��K���j���r�؁ �l�����%�V�W��K���"�e"�$̈́��ڑY��,��R E�,]�����D�8n�l�
1
+ (��F��5c��a��g[��)��Y�q�n�v��$A'�����b_�nc���A�OuW!����5� 6�De���F���}@�f�UVmKp�<�uN�Z�[����V4+.�� -6�*�a{zy_:���X��vyJ�v�CD��+e����m�_'�`�tͶj�ɼ&�`���]�q��4�I�'�f>
@@ -5,27 +5,69 @@
5
5
  require 'chronic_duration'
6
6
  require 'dynarex_cron'
7
7
 
8
- class DynarexEvents < DynarexCron
8
+ class DynarexEvents < DynarexCron
9
9
 
10
- def initialize(dynarex_file, sps_address=nil)
10
+ attr_reader :to_a
11
11
 
12
- dynarex = Dynarex.new dynarex_file
13
- entries = dynarex.to_h
12
+ def initialize(dynarex_file=nil, options={})
13
+
14
+ opt = {sps_address: nil, drb_server: false}.merge options
15
+
16
+ @cron_events = []
17
+
18
+ @dynarex_file = dynarex_file
19
+ load_events()
14
20
 
15
- @cron_entries = entries.inject([]) do |r,h|
21
+ @sps_address = opt[:sps_address]
22
+
23
+ if opt[:drb_server] == true then
24
+
25
+ Thread.new {
26
+
27
+ # start up the DRb service
28
+ DRb.start_service 'druby://:57500', self
29
+
30
+ # wait for the DRb service to finish before exiting
31
+ DRb.thread.join
32
+ }
33
+ end
34
+ end
35
+
36
+ def load_events()
37
+
38
+ dynarex = Dynarex.new @dynarex_file
39
+ @entries = dynarex.to_h
40
+ @cron_events = self.to_a
41
+ end
42
+
43
+ alias refresh load_events
44
+
45
+ def start
46
+ @running = true
47
+ puts '[' + Time.now.strftime(DF) + '] DynarexEvents started'
48
+
49
+ while @running == true
50
+ iterate @cron_events
51
+ sleep 60 # wait for 60 seconds
52
+ end
53
+ end
54
+
55
+ def to_a()
56
+
57
+ @entries.inject([]) do |r,h|
16
58
 
17
59
  h[:cron] = ChronicCron.new(h[:date])
18
60
  h[:job] = 'pub event: ' + h[:title]
19
61
 
20
62
  if h[:reminder].length > 0 then
21
63
  rmndr = {}
22
- rmndr[:cron] = Chronic.parse(h[:date]) - ChronicDuration.parse(h[:reminder])
64
+ rmndr[:cron] = ChronicCron.new((Chronic.parse(h[:date]) - ChronicDuration.parse(h[:reminder])).to_s)
23
65
  rmndr[:job] = 'pub event: reminder ' + h[:title]
24
66
  r << rmndr
25
67
  end
26
68
 
27
69
  r << h
28
70
  end
29
- @sps_address = sps_address
71
+
30
72
  end
31
73
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynarex-events
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  wC9cuVCUDZfVJ5fj3LNV2ZYGD4xDEqRa7w7DJluVaQSyYKIUqTFf7yOG5D2hu/OR
32
32
  5cbgqBz0i1h9/Q==
33
33
  -----END CERTIFICATE-----
34
- date: 2013-08-03 00:00:00.000000000 Z
34
+ date: 2013-08-04 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: dynarex_cron
metadata.gz.sig CHANGED
Binary file