arii 1.2.1 → 1.2.2

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: 46bd94c23d38c60e86cb59d895a3a055f5156542
4
- data.tar.gz: f0ee9fc3475dc2a63bbcd6f2389302650936c2d0
3
+ metadata.gz: 29034e712942cd799e3b863e318227bbe8705bfb
4
+ data.tar.gz: d0497fc1f4a3273a4d15d70f1b928a26449a7d3a
5
5
  SHA512:
6
- metadata.gz: 7ad68f3de32c472f75c6e69404e738c1c90a83891bb5d5665dfdb08fa5b3153a41e8e586eda1a15088733f573f3ef9b26b1b9e437fbe5421d0a52fae29f08c6a
7
- data.tar.gz: b50c8411dc3f10c15833a846a7cbb0aae3ec1f4a568ab61c2fcbe33b92a1afc9ab099e19978d78279e6027b8c75d10977843a6fd63419fbfb12b0b86d9d650e3
6
+ metadata.gz: 38b0c85405e47d5d87baccc6183bc2044d9fcc4f1369fd098e60bb3719750f45556ddb11b1f74faf67b2463e447c3328ce1b932a00e20f1d43796ed867e24b84
7
+ data.tar.gz: de273e5aa0777e7980be1603ba7abb14f2d9d11ae4f619d10617b2c3b3ed7ec1acc3b54251bf41c8bfa1ab70f3e7e1706cf7cc0419321f88ca9cdb5c26dcaad7
data/Gemfile.lock CHANGED
@@ -1,17 +1,36 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- arii (0.0.3)
4
+ arii (1.2.2)
5
+ jsonpath (~> 0)
6
+ nokogiri
7
+ rest-client (~> 0)
8
+ rubyXL
9
+ spreadsheet
5
10
 
6
11
  GEM
7
12
  remote: https://rubygems.org/
8
13
  specs:
9
- rake (10.1.1)
14
+ jsonpath (0.5.6)
15
+ multi_json
16
+ mini_portile (0.6.2)
17
+ multi_json (1.11.0)
18
+ nokogiri (1.6.6.2)
19
+ mini_portile (~> 0.6.0)
20
+ rake (0.9.6)
21
+ rest-client (0.9.2)
22
+ ruby-ole (1.2.11.8)
23
+ rubyXL (3.3.7)
24
+ nokogiri (>= 1.4.4)
25
+ rubyzip (>= 1.1.6)
26
+ rubyzip (1.1.7)
27
+ spreadsheet (1.0.3)
28
+ ruby-ole (>= 1.0)
10
29
 
11
30
  PLATFORMS
12
31
  ruby
13
32
 
14
33
  DEPENDENCIES
15
- bundler (~> 1.5)
16
34
  arii!
17
- rake
35
+ bundler (~> 1.5)
36
+ rake (~> 0)
data/arii.gemspec CHANGED
@@ -4,17 +4,17 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'arii/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "arii"
8
- spec.version = ARII::VERSION
9
- spec.authors = ["Pedro Lopes"]
10
- spec.email = ["hello@pedrolopes.net"]
11
- spec.summary = %q{arii client library for distributed agents.}
12
- spec.description = %q{ARiiP: integrate everything. Automated real-time integration & interoperability platform.}
13
- spec.homepage = "http://ariip.com/"
14
- spec.license = "MIT"
15
- spec.files = `git ls-files`.split($/)
16
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
7
+ spec.name = "arii"
8
+ spec.version = ARII::VERSION
9
+ spec.authors = ["Pedro Lopes"]
10
+ spec.email = ["hello@pedrolopes.net"]
11
+ spec.summary = %q{arii client library for distributed agents.}
12
+ spec.description = %q{ARiiP: integrate everything. Automated real-time integration & interoperability platform.}
13
+ spec.homepage = "http://ariip.com/"
14
+ spec.license = "MIT"
15
+ spec.files = `git ls-files`.split($/)
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
20
  spec.add_development_dependency "bundler", "~> 1.5"
@@ -23,6 +23,6 @@ Gem::Specification.new do |spec|
23
23
  spec.add_runtime_dependency 'rest-client', '~> 0'
24
24
  spec.add_runtime_dependency 'nokogiri'
25
25
  spec.add_runtime_dependency 'rubyXL'
26
- spec.add_runtime_dependency 'spreadsheet'
26
+ spec.add_runtime_dependency 'spreadsheet', '~> 0'
27
27
  spec.add_runtime_dependency 'jsonpath', '~> 0'
28
28
  end
data/lib/arii/agent.rb CHANGED
@@ -12,9 +12,9 @@ module ARII
12
12
  @cache = agent[:payload][:cache]
13
13
  @seeds = agent[:seeds]
14
14
  @selectors = agent[:payload][:selectors]
15
- ARII::Config.log.debug(self.class.name) {"Agent #{@identifier} initialized"}
15
+ ARII::Config.log.debug(self.class.name) { "Agent #{@identifier} initialized" }
16
16
  rescue Exception => e
17
- ARII::Config.log.error(self.class.name) {"Unable to initialize agent. #{e}"}
17
+ ARII::Config.log.error(self.class.name) { "Unable to initialize agent. #{e}" }
18
18
  end
19
19
 
20
20
  end
@@ -27,41 +27,41 @@ module ARII
27
27
  @checkup = {}
28
28
 
29
29
  case @publisher
30
- when 'sql'
31
- begin
32
- @d = ARII::SQLDetector.new(self)
33
- rescue Exception => e
34
- @response = {:status => 400, :error => e}
35
- ARII::Config.log.error(self.class.name) {"#{e}"}
36
- end
37
- when 'csv'
38
- begin
39
- @d = ARII::CSVDetector.new(self)
40
- rescue Exception => e
41
- @response = {:status => 400, :error => e}
42
- ARII::Config.log.error(self.class.name) {"#{e}"}
43
- end
44
- when 'excel'
45
- begin
46
- @d = ARII::ExcelDetector.new(self)
47
- rescue Exception => e
48
- @response = {:status => 400, :error => e}
49
- ARII::Config.log.error(self.class.name) {"#{e}"}
50
- end
51
- when 'xml'
52
- begin
53
- @d = ARII::XMLDetector.new(self)
54
- rescue Exception => e
55
- @response = {:status => 400, :error => e}
56
- ARII::Config.log.error(self.class.name) {"#{e}"}
57
- end
58
- when 'json'
59
- begin
60
- @d = ARII::JSONDetector.new(self)
61
- rescue Exception => e
62
- @response = {:status => 400, :error => e}
63
- ARII::Config.log.error(self.class.name) {"#{e}"}
64
- end
30
+ when 'sql'
31
+ begin
32
+ @d = ARII::SQLDetector.new(self)
33
+ rescue Exception => e
34
+ @response = {:status => 400, :error => e}
35
+ ARII::Config.log.error(self.class.name) { "#{e}" }
36
+ end
37
+ when 'csv'
38
+ begin
39
+ @d = ARII::CSVDetector.new(self)
40
+ rescue Exception => e
41
+ @response = {:status => 400, :error => e}
42
+ ARII::Config.log.error(self.class.name) { "#{e}" }
43
+ end
44
+ when 'excel'
45
+ begin
46
+ @d = ARII::ExcelDetector.new(self)
47
+ rescue Exception => e
48
+ @response = {:status => 400, :error => e}
49
+ ARII::Config.log.error(self.class.name) { "#{e}" }
50
+ end
51
+ when 'xml'
52
+ begin
53
+ @d = ARII::XMLDetector.new(self)
54
+ rescue Exception => e
55
+ @response = {:status => 400, :error => e}
56
+ ARII::Config.log.error(self.class.name) { "#{e}" }
57
+ end
58
+ when 'json'
59
+ begin
60
+ @d = ARII::JSONDetector.new(self)
61
+ rescue Exception => e
62
+ @response = {:status => 400, :error => e}
63
+ ARII::Config.log.error(self.class.name) { "#{e}" }
64
+ end
65
65
  end
66
66
 
67
67
 
@@ -72,7 +72,7 @@ module ARII
72
72
  end
73
73
  @checkup = @d.checkup
74
74
  rescue Exception => e
75
- ARII::Config.log.error(self.class.name) {"Checkup error: #{e}"}
75
+ ARII::Config.log.error(self.class.name) { "Checkup error: #{e}" }
76
76
  end
77
77
 
78
78
  # Start detection
@@ -83,7 +83,7 @@ module ARII
83
83
 
84
84
  @checkup[:templates] = @d.templates.uniq
85
85
  rescue Exception => e
86
- ARII::Config.log.error(self.class.name) {"Detection error: #{e}"}
86
+ ARII::Config.log.error(self.class.name) { "Detection error: #{e}" }
87
87
  end
88
88
 
89
89
  begin
@@ -91,33 +91,32 @@ module ARII
91
91
  process @checkup
92
92
  end
93
93
  rescue Exception => e
94
- ARII::Config.log.error(self.class.name) {"Process error: #{e}"}
94
+ ARII::Config.log.error(self.class.name) { "Process error: #{e}" }
95
95
  end
96
96
  response = {:status => @checkup[:status], :message => "[ARII][Checkup][execute] All OK."}
97
97
  end
98
98
 
99
99
 
100
-
101
100
  ##
102
101
  # => Process agent checks.
103
102
  #
104
103
  def process checkup
105
104
  begin
106
105
  checkup[:templates].each do |template|
107
- ARII::Config.log.info(self.class.name) {"Delivering to #{template} template."}
106
+ ARII::Config.log.info(self.class.name) { "Delivering to #{template} template." }
108
107
  checkup[:payload].each do |payload|
109
- ARII::Config.log.debug(self.class.name) {"Processing #{payload}."}
108
+ ARII::Config.log.debug(self.class.name) { "Processing #{payload}." }
110
109
  response = RestClient.post "#{ARII::Config.host}postman/deliver/#{template}.js", payload
111
110
  case response.code
112
- when 200
113
- ARII::Config.log.debug(self.class.name) {"Delivered to #{template}."}
114
- else
115
- ARII::Config.log.warn(self.class.name) {"unable to deliver \"#{payload}\" to \"#{template}\""}
111
+ when 200
112
+ ARII::Config.log.debug(self.class.name) { "Delivered to #{template}." }
113
+ else
114
+ ARII::Config.log.warn(self.class.name) { "unable to deliver \"#{payload}\" to \"#{template}\"" }
116
115
  end
117
116
  end
118
117
  end
119
118
  rescue Exception => e
120
- ARII::Config.log.error(self.class.name) {"Processing error: #{e}"}
119
+ ARII::Config.log.error(self.class.name) { "Processing error: #{e}" }
121
120
  end
122
121
 
123
122
  end
data/lib/arii/cashier.rb CHANGED
@@ -19,7 +19,7 @@ module ARII
19
19
  begin
20
20
  response = RestClient.post "#{ARII::Config.host}fluxcapacitor/verify.json", {:access_token => ARII::Config.access_token, :agent => agent[:identifier], :cache => cache, :payload => payload, :seed => seed}
21
21
  rescue Exception => e
22
- ARII::Config.log.error(self.class.name) {"#{e}"}
22
+ ARII::Config.log.error(self.class.name) { "#{e}" }
23
23
  response = {:status => 400, :error => e}
24
24
  end
25
25
  response
data/lib/arii/client.rb CHANGED
@@ -1,53 +1,53 @@
1
1
  require 'rest_client'
2
2
 
3
3
  module ARII
4
- class Client
4
+ class Client
5
5
 
6
- ##
7
- # => Load configuration properties from client/script code
8
- #
9
- def initialize config, log
10
- begin
11
- @config = config
12
- ARII::Config.set_access_token config[:server][:api_key]
13
- ARII::Config.set_host config[:server][:host]
14
- ARII::Config.set_log log
6
+ ##
7
+ # => Load configuration properties from client/script code
8
+ #
9
+ def initialize config, log
10
+ begin
11
+ @config = config
12
+ ARII::Config.set_access_token config[:server][:api_key]
13
+ ARII::Config.set_host config[:server][:host]
14
+ ARII::Config.set_log log
15
15
 
16
- ARII::Config.log.info(self.class.name) {'Configuration loaded successfully.'}
17
- rescue Exception => e
18
- ARII::Config.log.error(self.class.name) {"Failed to load configuration: #{e}"}
19
- end
16
+ ARII::Config.log.info(self.class.name) { 'Configuration loaded successfully.' }
17
+ rescue Exception => e
18
+ ARII::Config.log.error(self.class.name) { "Failed to load configuration: #{e}" }
19
+ end
20
20
 
21
- end
21
+ end
22
22
 
23
- ##
24
- # => Validate API key.
25
- #
26
- def validate
27
- begin
28
- ARII::Config.log.info(self.class.name) {'Launching validation.'}
23
+ ##
24
+ # => Validate API key.
25
+ #
26
+ def validate
27
+ begin
28
+ ARII::Config.log.info(self.class.name) { 'Launching validation.' }
29
29
 
30
- out = RestClient.post "#{ARII::Config.host}fluxcapacitor/validate_key.json", {:access_token => ARII::Config.access_token}
31
- response = {:status => 100, :response => out.to_str}
32
- rescue Exception => e
33
- ARII::Config.log.error(self.class.name) {"Failed validation: #{e}"}
34
- end
35
- response
36
- end
30
+ out = RestClient.post "#{ARII::Config.host}fluxcapacitor/validate_key.json", {:access_token => ARII::Config.access_token}
31
+ response = {:status => 100, :response => out.to_str}
32
+ rescue Exception => e
33
+ ARII::Config.log.error(self.class.name) { "Failed validation: #{e}" }
34
+ end
35
+ response
36
+ end
37
37
 
38
- ##
39
- # => Start processing agents from configuration properties.
40
- #
41
- def process
42
- ARII::Config.log.info(self.class.name) {'Starting agent processing.'}
43
- begin
44
- @config[:agents].each do |agent|
45
- a = ARII::Agent.new agent
46
- a.execute
47
- end
48
- rescue Exception => e
49
- ARII::Config.log.error(self.class.name) {"Failed agent processing: #{e}"}
50
- end
51
- end
52
- end
38
+ ##
39
+ # => Start processing agents from configuration properties.
40
+ #
41
+ def process
42
+ ARII::Config.log.info(self.class.name) { 'Starting agent processing.' }
43
+ begin
44
+ @config[:agents].each do |agent|
45
+ a = ARII::Agent.new agent
46
+ a.execute
47
+ end
48
+ rescue Exception => e
49
+ ARII::Config.log.error(self.class.name) { "Failed agent processing: #{e}" }
50
+ end
51
+ end
52
+ end
53
53
  end
@@ -16,7 +16,7 @@ module ARII
16
16
  #
17
17
  def detect object
18
18
 
19
- ARII::Config.log.debug(self.class.name) {"Monitoring #{object[:uri]}"}
19
+ ARII::Config.log.debug(self.class.name) { "Monitoring #{object[:uri]}" }
20
20
  CSV.new(open(object[:uri]), :headers => :first_row).each do |row|
21
21
  begin
22
22
  unless object[:cache].nil? then
@@ -25,7 +25,7 @@ module ARII
25
25
  @response = Cashier.verify row[0], object, row, object[:seed]
26
26
  end
27
27
  rescue Exception => e
28
- ARII::Config.log.error(self.class.name) {"Loading error: #{e}"}
28
+ ARII::Config.log.error(self.class.name) { "Loading error: #{e}" }
29
29
  end
30
30
 
31
31
  begin
@@ -40,12 +40,12 @@ module ARII
40
40
  # The actual processing
41
41
  #
42
42
  if @cache[:cache][:status] == 100 then
43
- ARII::Config.log.info(self.class.name) {"Not on cache, generating payload"}
43
+ ARII::Config.log.info(self.class.name) { "Not on cache, generating payload" }
44
44
 
45
45
  payload = Hash.new
46
46
 
47
47
  object[:selectors].each do |selector|
48
- selector.each do |k,v|
48
+ selector.each do |k, v|
49
49
  payload[k] = row[v.to_i]
50
50
  end
51
51
  end
@@ -54,7 +54,7 @@ module ARII
54
54
  end
55
55
 
56
56
  rescue Exception => e
57
- ARII::Config.log.error(self.class.name) {"Processing error: #{e}"}
57
+ ARII::Config.log.error(self.class.name) { "Processing error: #{e}" }
58
58
  end
59
59
  @cache[:templates]
60
60
  end
@@ -17,7 +17,7 @@ module ARII
17
17
  CSV.new(open(@seed[:payload][:uri]), :headers => :first_row).each do |row|
18
18
  begin
19
19
  object = @help.deep_copy @agent[:payload]
20
- object.each_pair do |key,value|
20
+ object.each_pair do |key, value|
21
21
  variables = @help.identify_variables(object[key])
22
22
  variables.each do |v|
23
23
  object[key].gsub!("%{#{v}}", row[@seed[:payload][:selectors][v].to_i])
@@ -25,9 +25,9 @@ module ARII
25
25
  end
26
26
 
27
27
  unless @seed[:payload][:cache].nil? then
28
- object[:seed] = row[@seed[:payload][:cache].to_i]
28
+ object[:seed] = row[@seed[:payload][:cache].to_i]
29
29
  else
30
- object[:seed] = row[0]
30
+ object[:seed] = row[0]
31
31
  end
32
32
 
33
33
 
data/lib/arii/detector.rb CHANGED
@@ -21,9 +21,9 @@ module ARII
21
21
  @payloads = Array.new
22
22
  @objects = Array.new
23
23
  @help = ARII::Helper.new
24
- ARII::Config.log.info(self.class.name) {"Started new #{agent.identifier} detector"}
24
+ ARII::Config.log.info(self.class.name) { "Started new #{agent.identifier} detector" }
25
25
  rescue Exception => e
26
- ARII::Config.log.error(self.class.name) {"#{e}"}
26
+ ARII::Config.log.error(self.class.name) { "#{e}" }
27
27
  end
28
28
  end
29
29
 
@@ -42,30 +42,30 @@ module ARII
42
42
  unless @agent.seeds.nil? then
43
43
  @agent.seeds.each do |seed|
44
44
  case seed[:publisher]
45
- when 'csv'
46
- begin
47
- @sr = ARII::CSVSeedReader.new(@agent, seed)
48
- rescue Exception => e
49
- ARII::Config.log.error(self.class.name) {"#{e}"}
50
- end
51
- when 'sql'
52
- begin
53
- @sr = ARII::SQLSeedReader.new(@agent, seed)
54
- rescue Exception => e
55
- ARII::Config.log.error(self.class.name) {"#{e}"}
56
- end
57
- when 'xml'
58
- begin
59
- @sr = ARII::XMLSeedReader.new(@agent, seed)
60
- rescue Exception => e
61
- ARII::Config.log.error(self.class.name) {"#{e}"}
62
- end
63
- when 'json'
64
- begin
65
- @sr = ARII::JSONSeedReader.new(@agent, seed)
66
- rescue Exception => e
67
- ARII::Config.log.error(self.class.name) {"#{e}"}
68
- end
45
+ when 'csv'
46
+ begin
47
+ @sr = ARII::CSVSeedReader.new(@agent, seed)
48
+ rescue Exception => e
49
+ ARII::Config.log.error(self.class.name) { "#{e}" }
50
+ end
51
+ when 'sql'
52
+ begin
53
+ @sr = ARII::SQLSeedReader.new(@agent, seed)
54
+ rescue Exception => e
55
+ ARII::Config.log.error(self.class.name) { "#{e}" }
56
+ end
57
+ when 'xml'
58
+ begin
59
+ @sr = ARII::XMLSeedReader.new(@agent, seed)
60
+ rescue Exception => e
61
+ ARII::Config.log.error(self.class.name) { "#{e}" }
62
+ end
63
+ when 'json'
64
+ begin
65
+ @sr = ARII::JSONSeedReader.new(@agent, seed)
66
+ rescue Exception => e
67
+ ARII::Config.log.error(self.class.name) { "#{e}" }
68
+ end
69
69
  end
70
70
  begin
71
71
  @reads = @sr.read
@@ -73,7 +73,7 @@ module ARII
73
73
  @objects.push read
74
74
  end
75
75
  rescue Exception => e
76
- ARII::Config.log.error(self.class.name) {"#{e}"}
76
+ ARII::Config.log.error(self.class.name) { "#{e}" }
77
77
  end
78
78
  end
79
79
 
@@ -92,7 +92,7 @@ module ARII
92
92
  end
93
93
  rescue Exception => e
94
94
  @response = {:status => 404, :message => "[ARII][Detector] failed to load doc, #{e}"}
95
- ARII::Config.log.error(self.class.name) {"#{e}"}
95
+ ARII::Config.log.error(self.class.name) { "#{e}" }
96
96
  end
97
97
 
98
98
  begin
@@ -100,10 +100,10 @@ module ARII
100
100
 
101
101
 
102
102
  @templates = Array.new
103
- @response = { :payload => @payloads, :templates => @templates, :status => 100}
103
+ @response = {:payload => @payloads, :templates => @templates, :status => 100}
104
104
  rescue Exception => e
105
105
  @response = {:status => 404, :message => "[ARII][Detector] failed to process queries, #{e}"}
106
- ARII::Config.log.error(self.class.name) {"#{e}"}
106
+ ARII::Config.log.error(self.class.name) { "#{e}" }
107
107
  end
108
108
  @response
109
109
  end
data/lib/arii/helper.rb CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  module ARII
3
2
 
4
3
  ##
@@ -11,7 +10,7 @@ module ARII
11
10
 
12
11
  def initialize
13
12
  # load each helper function into a map for replacement in the delivery
14
- @replacements = [ ["%{ARII.date}", self.date], ["%{ARII.datetime}", self.datetime], ["%{ARII.hostname}", self.hostname]]
13
+ @replacements = [["%{ARII.date}", self.date], ["%{ARII.datetime}", self.datetime], ["%{ARII.hostname}", self.hostname]]
15
14
  end
16
15
 
17
16
  public
@@ -55,42 +54,42 @@ module ARII
55
54
  # + *payload* - content for validation
56
55
  #
57
56
  def self.validate_payload publisher, payload
58
- @database_servers = ["mysql","sqlite","postgresql"]
57
+ @database_servers = ["mysql", "sqlite", "postgresql"]
59
58
  valid = true
60
59
 
61
60
  begin
62
61
  case publisher
63
- when 'csv', 'xml', 'json', 'file', 'js'
64
- # file content URI is mandatory
65
- if payload[:uri].nil? then
66
- valid = false
67
- end
68
- when 'sql'
69
-
70
- # check if database server is available
71
- unless database_servers.include? payload[:server] then
72
- valid = false
73
- end
74
-
75
- # database username is mandatory
76
- if payload[:username].nil? then
77
- valid = false
78
- end
79
-
80
- # database user password is mandatory
81
- if payload[:password].nil? then
82
- valid = false
83
- end
84
-
85
- # database name is mandatory
86
- if payload[:database].nil? then
87
- valid = false
88
- end
89
-
90
- # database query is mandatory
91
- if payload[:query].nil? then
92
- valid = false
93
- end
62
+ when 'csv', 'xml', 'json', 'file', 'js'
63
+ # file content URI is mandatory
64
+ if payload[:uri].nil? then
65
+ valid = false
66
+ end
67
+ when 'sql'
68
+
69
+ # check if database server is available
70
+ unless database_servers.include? payload[:server] then
71
+ valid = false
72
+ end
73
+
74
+ # database username is mandatory
75
+ if payload[:username].nil? then
76
+ valid = false
77
+ end
78
+
79
+ # database user password is mandatory
80
+ if payload[:password].nil? then
81
+ valid = false
82
+ end
83
+
84
+ # database name is mandatory
85
+ if payload[:database].nil? then
86
+ valid = false
87
+ end
88
+
89
+ # database query is mandatory
90
+ if payload[:query].nil? then
91
+ valid = false
92
+ end
94
93
  end
95
94
  rescue Exception => e
96
95
 
@@ -17,7 +17,7 @@ module ARII
17
17
  # == Detect the changes
18
18
  #
19
19
  def detect object
20
- ARII::Config.log.info(self.class.name) {"Monitoring #{object[:uri]}"} unless object[:uri].nil?
20
+ ARII::Config.log.info(self.class.name) { "Monitoring #{object[:uri]}" } unless object[:uri].nil?
21
21
 
22
22
  begin
23
23
  if object[:uri] == '' then
@@ -26,14 +26,14 @@ module ARII
26
26
  url = RestClient.get object[:uri]
27
27
  @doc = url.to_str
28
28
  end
29
- JsonPath.on(@doc,object[:query]).each do |element|
29
+ JsonPath.on(@doc, object[:query]).each do |element|
30
30
  JsonPath.on(element, object[:cache]).each do |c|
31
31
  @response = Cashier.verify c, object, c, object[:seed]
32
32
  end
33
33
 
34
- # Process ARII cache response
35
- @cache = JSON.parse(@response, {:symbolize_names => true})
36
- unless @cache[:templates].nil? then
34
+ # Process ARII cache response
35
+ @cache = JSON.parse(@response, {:symbolize_names => true})
36
+ unless @cache[:templates].nil? then
37
37
  @cache[:templates].each do |t|
38
38
  @templates.push t
39
39
  end
@@ -43,11 +43,11 @@ module ARII
43
43
  # If not on cache, add to payload for processing
44
44
  #
45
45
  if @cache[:cache][:status] == 100 then
46
- ARII::Config.log.info(self.class.name) {"Not on cache, generating payload"}
46
+ ARII::Config.log.info(self.class.name) { "Not on cache, generating payload" }
47
47
  # add row data to payload from selectors (key => key, value => column name)
48
48
  payload = Hash.new
49
49
  object[:selectors].each do |selector|
50
- selector.each do |k,v|
50
+ selector.each do |k, v|
51
51
  JsonPath.on(element, v).each do |el|
52
52
  payload[k] = el
53
53
  end
@@ -59,7 +59,7 @@ module ARII
59
59
 
60
60
  end
61
61
  rescue Exception => e
62
- ARII::Config.log.error(self.class.name) {"Loading error: #{e}"}
62
+ ARII::Config.log.error(self.class.name) { "Loading error: #{e}" }
63
63
  end
64
64
  @cache[:templates]
65
65
  end
@@ -16,11 +16,11 @@ module ARII
16
16
  begin
17
17
  url = RestClient.get @seed[:payload][:uri]
18
18
  @doc = url.to_str
19
- JsonPath.on(@doc,@seed[:payload][:query]).each do |element|
19
+ JsonPath.on(@doc, @seed[:payload][:query]).each do |element|
20
20
 
21
21
  begin
22
22
  object = @help.deep_copy @agent[:payload]
23
- object.each_pair do |key,value|
23
+ object.each_pair do |key, value|
24
24
  variables = @help.identify_variables(object[key])
25
25
  variables.each do |v|
26
26
 
@@ -31,7 +31,7 @@ module ARII
31
31
  end
32
32
  end
33
33
 
34
- JsonPath.on(element,@seed[:payload][:cache]).each do |el|
34
+ JsonPath.on(element, @seed[:payload][:cache]).each do |el|
35
35
  object[:seed] = el
36
36
 
37
37
  end
@@ -8,14 +8,14 @@ module ARII
8
8
  # Main seed reading class, passing data for seeds to agent, to be inherited by SQL, File and URL templates
9
9
  #
10
10
  class SeedReader
11
- attr_accessor :seed, :objects, :agent
11
+ attr_accessor :seed, :objects, :agent
12
12
 
13
- def initialize agent, seed
14
- @agent = agent
15
- @help = ARII::Helper.new
16
- @seed = seed
17
- @objects = Array.new
18
- # puts "\t\tSeed: #{@seed[:identifier]}"
19
- end
13
+ def initialize agent, seed
14
+ @agent = agent
15
+ @help = ARII::Helper.new
16
+ @seed = seed
17
+ @objects = Array.new
18
+ # puts "\t\tSeed: #{@seed[:identifier]}"
19
+ end
20
20
  end
21
21
  end
@@ -15,9 +15,9 @@ module ARII
15
15
  # == Detect the changes
16
16
  #
17
17
  def detect object
18
- ARII::Config.log.debug(self.class.name) {"Monitoring #{object[:host]}"}
18
+ ARII::Config.log.debug(self.class.name) { "Monitoring #{object[:host]}" }
19
19
  begin
20
- @client = Mysql2::Client.new(:host => object[:host], :username => object[:username] , :password => object[:password] , :database => object[:database])
20
+ @client = Mysql2::Client.new(:host => object[:host], :username => object[:username], :password => object[:password], :database => object[:database])
21
21
  @client.query(object[:query]).each(:symbolize_keys => false) do |row|
22
22
  unless object[:cache].nil? then
23
23
  @response = Cashier.verify row[object[:cache]], object, row, object[:seed]
@@ -35,11 +35,11 @@ module ARII
35
35
  # The actual processing
36
36
  #
37
37
  if @cache[:cache][:status] == 100 then
38
- ARII::Config.log.info(self.class.name) {"Not on cache, generating payload"}
38
+ ARII::Config.log.info(self.class.name) { "Not on cache, generating payload" }
39
39
  # add row data to payload from selectors (key => key, value => column name)
40
40
  payload = Hash.new
41
41
  object[:selectors].each do |selector|
42
- selector.each do |k,v|
42
+ selector.each do |k, v|
43
43
  payload[k] = row[v]
44
44
  end
45
45
  end
@@ -48,7 +48,7 @@ module ARII
48
48
  end
49
49
  end
50
50
  rescue Exception => e
51
- ARII::Config.log.error(self.class.name) {"Processing error: #{e}"}
51
+ ARII::Config.log.error(self.class.name) { "Processing error: #{e}" }
52
52
  end
53
53
  @cache[:templates]
54
54
  end
@@ -14,17 +14,17 @@ module Services
14
14
  #
15
15
  def read
16
16
  begin
17
- @client = Mysql2::Client.new(:host => @seed[:payload][:host], :username => @seed[:payload][:username] , :password => @seed[:payload][:password] , :database => @seed[:payload][:database])
18
- @client.query(@seed[:payload][:query], :cast => false).each(:symbolize_keys => false) do |row|
17
+ @client = Mysql2::Client.new(:host => @seed[:payload][:host], :username => @seed[:payload][:username], :password => @seed[:payload][:password], :database => @seed[:payload][:database])
18
+ @client.query(@seed[:payload][:query], :cast => false).each(:symbolize_keys => false) do |row|
19
19
  begin
20
- object = @help.deep_copy @agent[:payload]
21
- object.each_pair do |key,value|
20
+ object = @help.deep_copy @agent[:payload]
21
+ object.each_pair do |key, value|
22
22
  variables = @help.identify_variables(object[key])
23
23
  variables.each do |v|
24
24
  object[key].gsub!("%{#{v}}", row[@seed[:payload][:selectors][v]].to_str)
25
25
  end
26
26
  end
27
-
27
+
28
28
  unless @seed[:payload][:cache].nil? then
29
29
  object[:seed] = row[@seed[:payload][:cache]]
30
30
  else
@@ -37,9 +37,9 @@ module Services
37
37
  end
38
38
  end
39
39
  rescue Exception => e
40
-
40
+
41
41
  end
42
-
42
+
43
43
  @objects
44
44
  end
45
45
  end
data/lib/arii/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module ARII
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
@@ -13,7 +13,7 @@ module ARII
13
13
  # == Detect the changes
14
14
  #
15
15
  def detect object
16
- ARII::Config.log.info(self.class.name) {"Monitoring #{object[:uri]}"} unless object[:uri].nil?
16
+ ARII::Config.log.info(self.class.name) { "Monitoring #{object[:uri]}" } unless object[:uri].nil?
17
17
  begin
18
18
  if object[:uri] == '' then
19
19
  @doc = Nokogiri::XML(object[:content])
@@ -38,12 +38,12 @@ module ARII
38
38
  # If not on cache, add to payload for processing
39
39
  #
40
40
  if @cache[:cache][:status] == 100 then
41
- ARII::Config.log.info(self.class.name) {"Not on cache, generating payload"}
41
+ ARII::Config.log.info(self.class.name) { "Not on cache, generating payload" }
42
42
  # add row data to payload from selectors (key => key, value => column name)
43
43
  payload = Hash.new
44
44
  object[:selectors].each do |selector|
45
45
 
46
- selector.each do |k,v|
46
+ selector.each do |k, v|
47
47
  element.xpath(v).each do |el|
48
48
  payload[k] = el.content
49
49
  end
@@ -56,7 +56,7 @@ module ARII
56
56
  end
57
57
  end
58
58
  rescue Exception => e
59
- ARII::Config.log.error(self.class.name) {"Processing error: #{e}"}
59
+ ARII::Config.log.error(self.class.name) { "Processing error: #{e}" }
60
60
  end
61
61
  end
62
62
  end
@@ -17,7 +17,7 @@ module ARII
17
17
  @doc.xpath(@seed[:payload][:query]).each do |element|
18
18
  begin
19
19
  object = @help.deep_copy @agent[:payload]
20
- object.each_pair do |key,value|
20
+ object.each_pair do |key, value|
21
21
  variables = @help.identify_variables(object[key])
22
22
  variables.each do |v|
23
23
  element.xpath(@seed[:payload][:selectors][v]).each do |el|
data/lib/arii.rb CHANGED
@@ -11,33 +11,32 @@ require 'arii/version'
11
11
  require 'arii/client'
12
12
 
13
13
  module ARII
14
- class Config
14
+ class Config
15
15
 
16
16
 
17
+ def self.set_log log
18
+ @@log = log
19
+ end
17
20
 
18
- def self.set_log log
19
- @@log = log
20
- end
21
+ def self.set_host host
22
+ host << '/' unless host.end_with?('/')
23
+ @@host = host
24
+ end
21
25
 
22
- def self.set_host host
23
- host << '/' unless host.end_with?('/')
24
- @@host = host
25
- end
26
+ def self.set_access_token api_key
27
+ @@access_token = api_key
28
+ end
26
29
 
27
- def self.set_access_token api_key
28
- @@access_token = api_key
29
- end
30
+ def self.log
31
+ @@log
32
+ end
30
33
 
31
- def self.log
32
- @@log
33
- end
34
+ def self.host
35
+ @@host
36
+ end
34
37
 
35
- def self.host
36
- @@host
37
- end
38
-
39
- def self.access_token
40
- @@access_token
41
- end
42
- end
38
+ def self.access_token
39
+ @@access_token
40
+ end
41
+ end
43
42
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arii
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pedro Lopes
@@ -84,14 +84,14 @@ dependencies:
84
84
  name: spreadsheet
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency