dynarex-events 0.1.3 → 0.1.5

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