spstrigger_execute 0.2.1 → 0.3.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: 8d3d0d1d6818d68617cac9656b9a3efd61df3e02
4
- data.tar.gz: 44ee8692afb3cad3c46f95f6c5f492a12d106296
3
+ metadata.gz: 37e6cc9ce29fd8d990464781f453c43cc63e0cb8
4
+ data.tar.gz: bf224caaaaa1a60e8bb9ce82420acc086cff0211
5
5
  SHA512:
6
- metadata.gz: b4a28108f49d4a45a37d9a5f6e865f83de6c3feb4b7f08bac6c99e6b38e473ac2ac9f034dd98b914ff95cbfea6549bb5c7f40ee8fb4068a52c0605a0325d9c90
7
- data.tar.gz: 9a69d1711f09c3271f78455c6da9a33067b55ecf41d21a3333c8105a81e31208461aae0a0177cd4f6894e54b609cbaefe773de27c0cbf4d97f947d669d38fac9
6
+ metadata.gz: 3c0541a03d545717c9c239cd33475762f799dd16f6fa2e71622ad5e80780cb270b65a5c3eef5c9f416810deb3bea9c63ade3851647436d82c3aeaecc24381a11
7
+ data.tar.gz: 7f60069dba09e5d58f135a69f7cb0b006b55f9117e86ff1467d461cc2519788590e7e6204eda6edc4b22769866ab8849246b367cd07a13405ecd1bdac750f171
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -9,9 +9,9 @@ require 'xmlregistry_objects'
9
9
 
10
10
  class SPSTriggerExecute
11
11
 
12
- def initialize(x, reg=nil, polyrexdoc=nil)
13
-
12
+ def initialize(x, reg=nil, polyrexdoc=nil, logfile: nil)
14
13
 
14
+ @log = Logger.new logfile,'daily' if logfile
15
15
  dx = if x.is_a? Dynarex then
16
16
 
17
17
  x
@@ -24,15 +24,15 @@ class SPSTriggerExecute
24
24
  end
25
25
 
26
26
  @patterns = dx.to_h
27
-
27
+
28
28
  if reg and polyrexdoc then
29
-
29
+
30
30
  xro = XMLRegistryObjects.new(reg, polyrexdoc)
31
31
 
32
32
  @h = xro.to_h
33
33
  define_methods = @h.keys.map {|x| "def #{x}() @h[:#{x}] end"}
34
34
  instance_eval define_methods.join("\n")
35
-
35
+ log 'define_methods : ' + self.public_methods.sort.inspect
36
36
  end
37
37
 
38
38
  end
@@ -43,6 +43,11 @@ class SPSTriggerExecute
43
43
  end
44
44
 
45
45
  alias mae match_and_execute
46
+
47
+ def run(s)
48
+ instance_eval s
49
+ end
50
+
46
51
 
47
52
  private
48
53
 
@@ -81,7 +86,9 @@ class SPSTriggerExecute
81
86
 
82
87
  if result and conditions.length > 0 then
83
88
 
89
+ log 'conditions: ' + conditions.inspect
84
90
  success = eval conditions
91
+ log 'success : ' + success.inspect
85
92
  result = nil unless success
86
93
  end
87
94
 
@@ -90,6 +97,12 @@ class SPSTriggerExecute
90
97
  end
91
98
  end
92
99
 
100
+ def log(s)
101
+ if @log then
102
+ @logger.debug s
103
+ end
104
+ end
105
+
93
106
  def prepare_jobs(results)
94
107
 
95
108
  results.inject([]) do |r,h|
@@ -98,33 +111,39 @@ class SPSTriggerExecute
98
111
  a += h[:topic].captures if h[:topic] && h[:topic].captures.any?
99
112
  a += h[:msg].captures if h[:msg]
100
113
 
101
- job = @patterns[h[:index].to_i - 1][:job]
102
- job_args = job.split + a
103
-
104
- if job[/^\/\//] then
114
+ jobs = @patterns[h[:index].to_i - 1][:job]
115
+
116
+ jobs.split(/\s*;\s*/).each do |job|
105
117
 
106
- r << [:rse, job_args]
118
+ job_args = job.split + a
107
119
 
108
- else
120
+ if job[/^\/\//] then
109
121
 
110
- topic_message = job.gsub(/\$\d/) do |x|
122
+ r << [:rse, job_args]
123
+
124
+ elsif job[/^[\w\/]+:/]
111
125
 
112
- i = x[/\d$/].to_i - 1
113
- x.sub(/\$\d/, a[i])
114
- end
126
+ topic_message = job.gsub(/\$\d/) do |x|
115
127
 
116
- topic_message = topic_message\
117
- .gsub(/![Tt]ime/,Time.now.strftime("%a %H:%M%P"))\
118
- .gsub(/![Dd]ate/,Time.now.strftime("%d %b"))
128
+ i = x[/\d$/].to_i - 1
129
+ x.sub(/\$\d/, a[i])
130
+ end
119
131
 
120
- topic_message.split(/\s*;\s*/).each do |m|
121
-
122
- r << [:sps, m]
132
+ topic_message = topic_message\
133
+ .gsub(/![Tt]ime/,Time.now.strftime("%a %H:%M%P"))\
134
+ .gsub(/![Dd]ate/,Time.now.strftime("%d %b"))
123
135
 
136
+
137
+ r << [:sps, topic_message]
138
+ else
139
+
140
+ r << [:ste, job]
141
+
124
142
  end
125
-
126
143
  end
144
+
127
145
  r
146
+
128
147
  end
129
148
  end
130
149
 
@@ -138,4 +157,5 @@ class SPSTriggerExecute
138
157
 
139
158
  t
140
159
  end
160
+
141
161
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spstrigger_execute
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  rlSMrvljzPJPts27UIPIfU02mkTZzELneWPUEQlIK/ADjdiGu2uxlWT5g77gwM+g
32
32
  fYtWdC+NEqa0rg==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-03-07 00:00:00.000000000 Z
34
+ date: 2015-03-09 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: dynarex
@@ -59,40 +59,40 @@ dependencies:
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.2'
62
+ version: '0.3'
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
- version: 0.2.22
65
+ version: 0.3.0
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
69
69
  requirements:
70
70
  - - "~>"
71
71
  - !ruby/object:Gem::Version
72
- version: '0.2'
72
+ version: '0.3'
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 0.2.22
75
+ version: 0.3.0
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: xmlregistry_objects
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.3'
82
+ version: '0.5'
83
83
  - - ">="
84
84
  - !ruby/object:Gem::Version
85
- version: 0.3.0
85
+ version: 0.5.1
86
86
  type: :runtime
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
89
  requirements:
90
90
  - - "~>"
91
91
  - !ruby/object:Gem::Version
92
- version: '0.3'
92
+ version: '0.5'
93
93
  - - ">="
94
94
  - !ruby/object:Gem::Version
95
- version: 0.3.0
95
+ version: 0.5.1
96
96
  description:
97
97
  email: james@r0bertson.co.uk
98
98
  executables: []
metadata.gz.sig CHANGED
Binary file