dynarex-events 0.1.10 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b9c13e5408203ec6908bd55c210c77b8b4b83c30
4
- data.tar.gz: b3e0ea1b1cc35898353fa097c75850d2fe7fcc1f
3
+ metadata.gz: f23a3c18f13d4788548dcdd3284d3cd97eda37be
4
+ data.tar.gz: 5cd2fd02d8fa0357c2385fc965b50db3272a0e58
5
5
  SHA512:
6
- metadata.gz: b066df93454c098c92a81fb5b03f63d46b9a1ea87812a6dd0b8573fc509928acd25ab1a032915002ce08498e1b9c502215c0c49b013be33e5b9d39481212ba39
7
- data.tar.gz: 55d2609c80a9005773d205c4df6962b997e04fb53c00ca9fefe5e8739263b0e21663937203162a56bcc64c6368bdbac7e1ec74b59764c2ad3f50ca13720dfd5b
6
+ metadata.gz: d9c5525f740c8803c125a4bc23b67eb161fc58ae86b0b892ebf0fefacd41fabeb9806fa5911f681160530f7237e53ad76d271b4008ee579c2adb00ec85618d99
7
+ data.tar.gz: 1e6c7dfc77c61f97666670f6b1cdab31ee331b02a54bed5caf1248c589ca7a1b12bff01b04bff2cbcc2d4dc513c16b05d197763e8016aded643b334ec65b9754
checksums.yaml.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- _����@��ۚ��B���(Y���gZ4���VOW�_"�1^�
2
- M:��Y���&� �~����1X�/�sblª�8��=�ҙf5K�� �d��{nvK����oK�ҳb��N�3;~�
3
- Y1&�����.V��b��`�-(t��v"+;�1�
1
+ ����]����Ɗ맧X>òQA���PwP��?A�H;R)��U���2N~kkeO$��{~��#қ��c#&�y�ϔ}�~m���3�k}
2
+ f~��p����u�W\xA@�&�6�������/TP�8��;{@���D��K�?eg�W�Yx4}B$�h�x%�"��׼?����4�\nڨ��Z����Ë�yA� �����&_(����U��.� N��&��n���O4]r�,Pdn���҈��g�
data.tar.gz.sig CHANGED
Binary file
@@ -10,48 +10,25 @@ class DynarexEvents < DynarexCron
10
10
 
11
11
  attr_reader :to_a
12
12
 
13
- # options: e.g. sps_address: 'sps', drb_port: 58000
14
- #
15
13
  def initialize(dynarex_file=nil, options={})
16
14
 
17
- opt = {sps_address: nil, sps_port: '59000', drb_port: nil}.merge options
18
-
19
- @logger = Logger.new(opt[:log],'weekly') if opt[:log]
20
- @entries, @other_entries, @cron_events = [], [], []
21
-
22
- @dynarex = dynarex_file
15
+ opt = {sps_address: nil, time_offset: 0}.merge options
16
+
17
+ @time_offset = opt[:time_offset]
18
+ @cron_events = []
19
+
20
+ @dynarex_file = dynarex_file
23
21
  load_events()
24
22
 
25
- @sps_address, @sps_port = opt[:sps_address], opt[:sps_port]
23
+ @sps_address = opt[:sps_address]
26
24
 
27
- if opt[:drb_port] then
28
-
29
- Thread.new {
30
-
31
- # start up the DRb service
32
- DRb.start_service 'druby://:' + opt[:drb_port], self
33
-
34
- # wait for the DRb service to finish before exiting
35
- DRb.thread.join
36
- }
37
- end
38
25
  end
39
26
 
40
- def add_entry(h)
41
- # if the entry already exists delete it
42
- @other_entries.delete @other_entries.find {|x| x[:job] == h[:job]}
43
- @other_entries << h
44
- self.refresh
45
- 'updated and refreshed'
46
- end
47
-
48
27
  def load_events()
49
28
 
50
- dynarex = @dynarex.is_a?(Dynarex) ? @dynarex : Dynarex.new(@dynarex)
51
- @entries = (dynarex.to_h || []) + @other_entries
52
-
53
- @cron_events = self.to_a if @entries
54
- 'events loaded and refreshed'
29
+ dynarex = Dynarex.new @dynarex_file
30
+ @entries = dynarex.to_h
31
+ @cron_events = self.to_a
55
32
  end
56
33
 
57
34
  alias refresh load_events
@@ -62,36 +39,23 @@ class DynarexEvents < DynarexCron
62
39
  puts '[' + Time.now.strftime(DF) + '] DynarexEvents started'
63
40
  params = {uri: "ws://%s:%s" % [@sps_address, @sps_port]}
64
41
 
65
- c = WebSocket::EventMachine::Client
66
- @ws = nil
67
-
68
- EventMachine.run do
69
-
70
- @ws = c.connect(params)
71
-
72
- EM.add_periodic_timer(60) do
73
- iterate @cron_events
74
- end
75
-
76
- end
77
- end
42
+ RunEvery.new(seconds: 60) { iterate @cron_events }
43
+
44
+ end
78
45
 
79
46
  def to_a()
80
-
81
- return unless @entries
82
-
47
+
83
48
  @entries.inject([]) do |r,h|
84
49
 
85
- s = h[:expression].to_s.length > 0 ? h[:expression] :
86
- h[:date] + ' ' + h[:recurring].to_s
87
-
88
- h[:cron] = ChronicCron.new(s)
89
- h[:job] ||= 'pub event: ' + h[:title]
50
+ time = Time.now + @time_offset
51
+ h[:cron] = ChronicCron.new(h[:date], time)
52
+ h[:fqm] = 'event: ' + h[:title]
90
53
 
91
- if h[:reminder].to_s.length > 0 then
54
+ if h[:reminder].length > 0 then
92
55
  rmndr = {}
93
- rmndr[:cron] = ChronicCron.new((Chronic.parse(h[:date]) - ChronicDuration.parse(h[:reminder])).to_s)
94
- rmndr[:job] = 'pub event: reminder ' + h[:title]
56
+ rmndr[:cron] = ChronicCron.new((Chronic.parse(h[:date]) -
57
+ ChronicDuration.parse(h[:reminder])).to_s, time)
58
+ rmndr[:fqm] = 'event: reminder ' + h[:title]
95
59
  r << rmndr
96
60
  end
97
61
 
@@ -99,4 +63,4 @@ class DynarexEvents < DynarexCron
99
63
  end
100
64
 
101
65
  end
102
- end
66
+ 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.10
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -12,55 +12,67 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTEzMDgwMzE5MTQ0MloXDTE0MDgwMzE5MTQ0MlowSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE1MDMwNzE0MzQ0MVoXDTE2MDMwNjE0MzQ0MVowSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAJlxFwPQx4LIZGlCC4NrtQOwawpY2/MREnoQTjlY9F4i4VL/c9+CrxLCdoRX
19
- nUhvsWp68vRQOwkVl/MvUeh3AfU2re/iCw3Z0LCEnvHTaQVj5vogC0y84Rv3Ld6X
20
- N4U1xxzQ3xHCvrZF9VacxyAMYFHlCfj0TNHsRdi6VOjzlivIs69EZXjNqwpD16Z7
21
- 0eL7UgnS4SH2utw3wDRwsqPwTET3cSRJotgoG+m87aNg57xUww6CoMllN4nmRHdi
22
- 3Klw5zW+xaRvXsuieK279gdGiQyFyKaBoyV6cx08D6/hzkQbLJJbSK85yjAbxMbu
23
- VkATJXGn74wQv84xA2v3ll6G640CAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUwxlNljIC6qZQYl6PistT/0lPD8IwJgYDVR0RBB8w
18
+ ggEBAN1MIH3J0SuaLObRLKy0rUhhbuTYsdELDt/H0ZWGJfTJ8wrOnJyFnpsq2U6l
19
+ 0Wp+wNHtr8/sPquHsx0YR5iLjfWd8fekgu5imdgu99wss3m/o0uz2c7K5JfdMbED
20
+ SZZBYE+oQ0gsyI+2EJTv+aoZ7h3qDFe6ijNjZgUPnnJ7C57Zz9DbEFa7JTMLKQOU
21
+ qP/yNuvkYZRLDEYC8hl9rmt+1RK/q5+o1aj31ZyJk/iUc7uBY72VFIojG/AeggcT
22
+ dz9G77oiKZNheP+aTyn5dUMR3vbxbv6EX0mvYCam7hC43ltL6LstrWk1U88OMwjU
23
+ 0zcb7LbDIPYnqsMlRkHdRwHX9iMCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUn7hwdiAW/RHf6NNw1qKB/YTuEIkwJgYDVR0RBB8w
25
25
  HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAi4/sAF8P
27
- kgIKPgjuiDgFKkz2vhKe9Y1ZO/7UbSrNVegcJ3T2hoS4MyeihhbvzuC6uxIkR9KY
28
- gOO3iiQ1KFLvjE7y+5oTXt65Rz5du0LV7V2VdVDDLcl415z7eU0TlMPbvjlkx91+
29
- dlYE5qsSlysJYRhJ0LkWkDY952OGxh+sKza2wQ2yPRycoJ/5Q5FvWMD7c96g2qA7
30
- E1Ee+VYcDGhNSWcBjTkyNcULwqxtYAum6L+I+qnHC48NCZap1J0iUrEfB3Gn2R6O
31
- wC9cuVCUDZfVJ5fj3LNV2ZYGD4xDEqRa7w7DJluVaQSyYKIUqTFf7yOG5D2hu/OR
32
- 5cbgqBz0i1h9/Q==
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAZKFJoC9b
27
+ +VZ8vZRqqjTEFCxu2PNwJ8cABLF8gKWM3fOz6CPMITc+7xowrd+Wtb431YHSsdXi
28
+ /BuYR5sH03P3EDJyYhD4gyeNok8vOvFKMqzHpGcjFXTvzvNWHXOXEUhHNbcHcsYr
29
+ isqH/60S0As85Ztl6bXZs5Ei4r3j2lRTEdnERiwRz8UAVB3MGWxf0ViCp92zUn+7
30
+ 061OkGXcpG3HyNMRm2bgN0QxAfhPuaIQdV1aH9W9pl3iDykvV5gMZ3qMZFBHnUJa
31
+ Lhu2O91sSTZY1VrPbu7LmXJn0ukb1vBaqY9Lm/jkTIMIDsZLrYqpwifvoeuJRVwT
32
+ 4XYKZsUT0eBjuA==
33
33
  -----END CERTIFICATE-----
34
- date: 2013-11-23 00:00:00.000000000 Z
34
+ date: 2015-03-07 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
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '0.5'
40
43
  - - ">="
41
44
  - !ruby/object:Gem::Version
42
- version: '0'
45
+ version: 0.5.3
43
46
  type: :runtime
44
47
  prerelease: false
45
48
  version_requirements: !ruby/object:Gem::Requirement
46
49
  requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '0.5'
47
53
  - - ">="
48
54
  - !ruby/object:Gem::Version
49
- version: '0'
55
+ version: 0.5.3
50
56
  - !ruby/object:Gem::Dependency
51
57
  name: chronic_duration
52
58
  requirement: !ruby/object:Gem::Requirement
53
59
  requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.10'
54
63
  - - ">="
55
64
  - !ruby/object:Gem::Version
56
- version: '0'
65
+ version: 0.10.4
57
66
  type: :runtime
58
67
  prerelease: false
59
68
  version_requirements: !ruby/object:Gem::Requirement
60
69
  requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '0.10'
61
73
  - - ">="
62
74
  - !ruby/object:Gem::Version
63
- version: '0'
75
+ version: 0.10.4
64
76
  description:
65
77
  email: james@r0bertson.co.uk
66
78
  executables: []
@@ -80,7 +92,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
80
92
  requirements:
81
93
  - - ">="
82
94
  - !ruby/object:Gem::Version
83
- version: '0'
95
+ version: 2.1.2
84
96
  required_rubygems_version: !ruby/object:Gem::Requirement
85
97
  requirements:
86
98
  - - ">="
@@ -88,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
100
  version: '0'
89
101
  requirements: []
90
102
  rubyforge_project:
91
- rubygems_version: 2.0.0.rc.2
103
+ rubygems_version: 2.2.2
92
104
  signing_key:
93
105
  specification_version: 4
94
106
  summary: dynarex-events
metadata.gz.sig CHANGED
Binary file