ip21 1.0.1 → 1.3.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 +4 -4
- data/ip21.gemspec +4 -3
- data/lib/ip21.rb +28 -16
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f13b47dc34afa9911dcce75e646e47a44a3e71a79c84277125c81f5e5baffa90
|
4
|
+
data.tar.gz: 84d5b491d39178b042563c06b3130f7020744a8b96bf1fb2aeb22e41fbe9e575
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bae814543504c17f3f8c3f43c6cff6d9029a989e2258a91cb1d99feef2af69e91462c81cf23943a50fe4da31d51d0d8907ac2fe9b8859cabf31c7c1b0effe942
|
7
|
+
data.tar.gz: 2ee1aed4ed3327df97d9f40cbe3bb04c382c8e4606d3edb0fd541239facd9d8a7a468860611427e63ba82d5b1b536310c763f20dcc39d24405196eaec21b6ae4
|
data/ip21.gemspec
CHANGED
@@ -5,15 +5,16 @@ Gem::Specification.new do |s|
|
|
5
5
|
s.summary = 'Aspentech IP21 Adapter for Ruby'
|
6
6
|
s.description = 'Aspentech IP21 Adapter for executing queries using SQLPlus' \
|
7
7
|
' REST API'
|
8
|
-
s.version = '1.0
|
8
|
+
s.version = '1.3.0'
|
9
9
|
s.date = Time.now.strftime('%Y-%m-%d')
|
10
10
|
s.author = 'Rhuan Barreto'
|
11
11
|
s.email = 'rhuan@rhuan.com.br'
|
12
12
|
s.homepage = 'http://rubygems.org/gems/ip21'
|
13
13
|
s.platform = Gem::Platform::RUBY
|
14
14
|
s.license = 'MIT'
|
15
|
-
s.add_dependency 'activesupport', '~>6.0
|
16
|
-
s.add_dependency 'rubyntlm', '~>0.6'
|
15
|
+
s.add_dependency 'activesupport', '~> 6.1.0'
|
16
|
+
s.add_dependency 'rubyntlm', '~>0.6.3'
|
17
|
+
s.add_dependency 'httpi', '~>2.4'
|
17
18
|
s.files = Dir.glob('{docs,bin,lib,spec,templates,benchmarks}/**/*') +
|
18
19
|
['LICENSE', 'README.md', '.yardopts', __FILE__]
|
19
20
|
s.require_path = 'lib'
|
data/lib/ip21.rb
CHANGED
@@ -118,15 +118,13 @@ class IP21
|
|
118
118
|
# @param [String] type The request type to be passed to rest_address function
|
119
119
|
# @param [String] body The request body
|
120
120
|
def rest_request(type, body)
|
121
|
-
require '
|
122
|
-
|
123
|
-
|
124
|
-
http = Net::HTTP.new(uri.host)
|
125
|
-
request = Net::HTTP::Post.new(uri)
|
121
|
+
require 'httpi'
|
122
|
+
HTTPI.log = @debug
|
123
|
+
request = HTTPI::Request.new(rest_address(type))
|
126
124
|
request.body = body
|
127
|
-
request.
|
128
|
-
response =
|
129
|
-
debug_info(
|
125
|
+
request.auth.ntlm(@account, @password, @domain)
|
126
|
+
response = HTTPI.post(request)
|
127
|
+
debug_info(request.url, request.body, response) if @debug
|
130
128
|
response
|
131
129
|
end
|
132
130
|
|
@@ -147,13 +145,13 @@ class IP21
|
|
147
145
|
#
|
148
146
|
# @return [Hash] Response or error from the API
|
149
147
|
def parse_rest(response)
|
150
|
-
if response.code ==
|
148
|
+
if response.code == 200
|
151
149
|
require 'json'
|
152
150
|
JSON.parse(response.body)
|
153
151
|
else
|
154
152
|
{
|
155
153
|
status: response.code,
|
156
|
-
message: "Error on IP21: #{response.
|
154
|
+
message: "Error on IP21: #{response.body}"
|
157
155
|
}
|
158
156
|
end
|
159
157
|
end
|
@@ -183,16 +181,30 @@ class IP21
|
|
183
181
|
}.to_query
|
184
182
|
end
|
185
183
|
|
186
|
-
def history_query_body(
|
184
|
+
def history_query_body(tags, start_time, end_time, opts)
|
187
185
|
opts[:limit] ||= 1000
|
188
186
|
opts[:outsiders] ||= 0
|
189
187
|
opts[:history_format] ||= 0
|
190
188
|
opts[:retrieval_type] ||= 0
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
189
|
+
body = if tags.is_a?(String)
|
190
|
+
tag_request(tags, start_time, end_time, opts)
|
191
|
+
else
|
192
|
+
tags.map { |tag| tag_request(tag, start_time, end_time, opts) }.join
|
193
|
+
end
|
194
|
+
'<Q appId="20" f="D" allQuotes="1">' + body + '</Q>'
|
195
|
+
end
|
196
|
+
|
197
|
+
def tag_request(tag, start_time, end_time, opts)
|
198
|
+
'<Tag>' \
|
199
|
+
"<N><![CDATA[#{tag}]]></N>" \
|
200
|
+
"<D><![CDATA[#{@ip21_address}]]></D>" \
|
201
|
+
"<HF>#{opts[:history_format]}</HF>" \
|
202
|
+
"<St>#{start_time}</St>" \
|
203
|
+
"<Et>#{end_time}</Et>" \
|
204
|
+
"<RT>#{opts[:retrieval_type]}</RT>" \
|
205
|
+
"<X>#{opts[:limit]}</X>" \
|
206
|
+
"<O>#{opts[:outsiders]}</O>" \
|
207
|
+
'</Tag>'
|
196
208
|
end
|
197
209
|
|
198
210
|
def select?(query)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ip21
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rhuan Barreto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,28 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 6.0
|
19
|
+
version: 6.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 6.0
|
26
|
+
version: 6.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rubyntlm
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.6.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.6.3
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: httpi
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.4'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.4'
|
41
55
|
description: Aspentech IP21 Adapter for executing queries using SQLPlus REST API
|
42
56
|
email: rhuan@rhuan.com.br
|
43
57
|
executables: []
|