dynarex-events 0.1.10 → 0.2.0

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