dynarex-events 0.1.3 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cbbe0b1f9a16eb05e43d5ec665cab1c9c8ed7ac2
4
- data.tar.gz: bb72ad82fcc7783bca92f3d40e778f9b4422d5cd
3
+ metadata.gz: 61cdec1f0220d10ebb2eb5668ed9503d59d84b65
4
+ data.tar.gz: e80cc0cbd8f430f523193cce5bf731796bb61546
5
5
  SHA512:
6
- metadata.gz: 5d41932b4fe96ac513904376cd00cc6d803990c9afe45e2859ec7522ba092a08bde15c5c78305b28b65d2a7776300b1a16ed14a02657a539dfba250ed2a940cb
7
- data.tar.gz: e24e8dbbcab66fa33017dcffeb5dbb4457440cc8171dc647ffe68af4cab4d064905f293f7f9cf088c4f43463f7902648c13409b0260cda2a45d82d18f92b697f
6
+ metadata.gz: 57a2a8d8b9c1e7ca56420ffec0b182cd74086bc5031337e6dcf077e00df0c31e80752ab0322b79bd2da39d29efed6b47ab753158c0a6e4c52f8175fe7d8ae836
7
+ data.tar.gz: bcefdb12dbeab3d261c3d4662a738ff318ce0d15aa8ae852b7bc8fa51b6f7dd0e526e2f1a4249e93458700cee06f3b2c0ff7bd7b08a368478006eaadd9c36c95
checksums.yaml.gz.sig CHANGED
@@ -1,4 +1,2 @@
1
- �âP2�αv�+v)@����u�$Y����2�
2
- �����(�Le_,����!���_M�>�se_X2N1��jw�ڋ-6L���
3
- ($Y�w� �#P%ӕ f��Kȱ��A��|2b}�^[�����C�ݘ:��
4
- �'��St���%��Q8ER�@�0�za9B�T:������6qI��(K8�?}�:uu�o��f{ȱ��;��M��4 �=�2ʚ�~��'ǢS���GR'
1
+ r*U E
2
+ Ai�bpm蟪V���K,�k�hw�¬�z��Z[݈lM1ht����I������灳����H���a��\a��K �<�z
data.tar.gz.sig CHANGED
Binary file
@@ -9,23 +9,25 @@ class DynarexEvents < DynarexCron
9
9
 
10
10
  attr_reader :to_a
11
11
 
12
+ # options: e.g. sps_address, 'sps', drb_server: 58000
13
+ #
12
14
  def initialize(dynarex_file=nil, options={})
13
15
 
14
- opt = {sps_address: nil, drb_server: false}.merge options
15
-
16
- @cron_events = []
16
+ opt = {sps_address: nil, drb_server: nil}.merge options
17
17
 
18
+ @entries, @cron_events = [], []
19
+
18
20
  @dynarex_file = dynarex_file
19
21
  load_events()
20
22
 
21
23
  @sps_address = opt[:sps_address]
22
24
 
23
- if opt[:drb_server] == true then
24
-
25
+ if opt[:drb_server] then
26
+
25
27
  Thread.new {
26
28
 
27
29
  # start up the DRb service
28
- DRb.start_service 'druby://:57500', self
30
+ DRb.start_service 'druby://:' + opt[:drb_server], self
29
31
 
30
32
  # wait for the DRb service to finish before exiting
31
33
  DRb.thread.join
@@ -33,11 +35,18 @@ class DynarexEvents < DynarexCron
33
35
  end
34
36
  end
35
37
 
38
+ def add_entry(h)
39
+ # if the entry already exists delete it
40
+ @entries.delete @entries.find {|x| x[:job] == h[:job]}
41
+ @entries << h
42
+ end
43
+
36
44
  def load_events()
37
45
 
38
46
  dynarex = Dynarex.new @dynarex_file
39
- @entries = dynarex.to_h
40
- @cron_events = self.to_a
47
+ @entries = dynarex.to_h || @entries
48
+ @cron_events = self.to_a if @entries
49
+ 'events loaded and refreshed'
41
50
  end
42
51
 
43
52
  alias refresh load_events
@@ -53,13 +62,15 @@ class DynarexEvents < DynarexCron
53
62
  end
54
63
 
55
64
  def to_a()
56
-
65
+
66
+ return unless @entries
67
+
57
68
  @entries.inject([]) do |r,h|
58
69
 
59
- h[:cron] = ChronicCron.new(h[:date] + ' ' + h[:recurring])
60
- h[:job] = 'pub event: ' + h[:title]
70
+ h[:cron] = ChronicCron.new(h[:date] + ' ' + h[:recurring].to_s )
71
+ h[:job] ||= 'pub event: ' + h[:title]
61
72
 
62
- if h[:reminder].length > 0 then
73
+ if h[:reminder].to_s.length > 0 then
63
74
  rmndr = {}
64
75
  rmndr[:cron] = ChronicCron.new((Chronic.parse(h[:date]) - ChronicDuration.parse(h[:reminder])).to_s)
65
76
  rmndr[:job] = 'pub event: reminder ' + h[:title]
@@ -70,5 +81,4 @@ class DynarexEvents < DynarexCron
70
81
  end
71
82
 
72
83
  end
73
- end
74
-
84
+ 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.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,34 +31,34 @@ cert_chain:
31
31
  wC9cuVCUDZfVJ5fj3LNV2ZYGD4xDEqRa7w7DJluVaQSyYKIUqTFf7yOG5D2hu/OR
32
32
  5cbgqBz0i1h9/Q==
33
33
  -----END CERTIFICATE-----
34
- date: 2013-08-06 00:00:00.000000000 Z
34
+ date: 2013-10-26 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: dynarex_cron
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_duration
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
  description:
@@ -78,12 +78,12 @@ require_paths:
78
78
  - lib
79
79
  required_ruby_version: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - '>='
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  required_rubygems_version: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - '>='
86
+ - - ">="
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  requirements: []
metadata.gz.sig CHANGED
Binary file