tes-request 0.9 → 0.10
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/lib/tes/request/expression.rb +51 -49
- data/lib/tes/request/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9841f4d3a444ade45a6d1565c5dd55be1140a2465a855c3275254e2e8f7396b
|
4
|
+
data.tar.gz: 5141b7e96643c8e43583d48efeb6ad1c1671067f711e60b606ea524533752635
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bdee923d55c1fe276bda1b488b5e732aabedbfdc4e2076886f4a9f4272f7c67f7cbaae0cac74efb1ae406ecdc0d4733744f6958d3edc5290e9949936aa5ed2f7
|
7
|
+
data.tar.gz: 2e9570dc012cb3b301289d5f23bac869c474e2b1e0993bbe8b86545c825b0628c73dd5a691ac271561cd48be7ef490a22add7ce94c199af930a1d0418517a8c8
|
@@ -5,7 +5,7 @@ module Tes
|
|
5
5
|
class Expression
|
6
6
|
include Comparable
|
7
7
|
|
8
|
-
REG_EXP_CHAIN = /^(!)?([0-9A-Za-z_.]+)(
|
8
|
+
REG_EXP_CHAIN = /^(!)?([0-9A-Za-z_.]+)(\?|==|>=|<=|<|>|=|!=)?([\w-\.]+)?/
|
9
9
|
|
10
10
|
# @param [String] exp_str 表达式字符串
|
11
11
|
def initialize(exp_str)
|
@@ -18,16 +18,19 @@ module Tes
|
|
18
18
|
|
19
19
|
if mt[3]
|
20
20
|
@data[:op] = mt[3]
|
21
|
+
@data[:op] = '==' if @data[:op] == '='
|
21
22
|
if mt[4]
|
22
23
|
@data[:expect_val] = mt[4]
|
23
|
-
if @data[:expect_val] =~ /^-?\d+(\.[\d]+)
|
24
|
-
@data[:expect_val] =
|
24
|
+
if @data[:expect_val] =~ /^-?\d+(\.[\d]+)$/
|
25
|
+
@data[:expect_val] = @data[:expect_val].to_f
|
26
|
+
elsif @data[:expect_val] =~ /^-?\d+$/
|
27
|
+
@data[:expect_val] = @data[:expect_val].to_i
|
25
28
|
end
|
26
29
|
|
27
30
|
# 处理前置 逻辑非 与表达式中的不等比较符
|
28
31
|
if @data[:op] == '!='
|
29
32
|
@data[:revert] = (@data[:revert] ? false : true)
|
30
|
-
@data[:op] = '
|
33
|
+
@data[:op] = '=='
|
31
34
|
end
|
32
35
|
end
|
33
36
|
end
|
@@ -48,13 +51,12 @@ module Tes
|
|
48
51
|
elsif op == '?'
|
49
52
|
chain_data = data.get_by_chain(@data[:left_exp])
|
50
53
|
case chain_data
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
54
|
+
when 'off', 'down', 'disable', '0', '', 0
|
55
|
+
false
|
56
|
+
else
|
57
|
+
chain_data
|
55
58
|
end
|
56
59
|
else
|
57
|
-
op = '==' if op == '='
|
58
60
|
expect_val = @data[:expect_val]
|
59
61
|
data.get_by_chain(@data[:left_exp]).send(op, expect_val)
|
60
62
|
end
|
@@ -68,49 +70,49 @@ module Tes
|
|
68
70
|
|
69
71
|
if @data[:op] == other.data[:op]
|
70
72
|
case @data[:op]
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
73
|
+
when '=='
|
74
|
+
(@data[:expect_val] == other.data[:expect_val]) ? 0 : nil
|
75
|
+
when '>', '>='
|
76
|
+
@data[:expect_val] <=> other.data[:expect_val]
|
77
|
+
when '<', '<='
|
78
|
+
other.data[:expect_val] <=> @data[:expect_val]
|
79
|
+
when '?', nil
|
80
|
+
0
|
81
|
+
else
|
82
|
+
raise("内部错误:出现了不支持的表达式操作符号:#{@data[:op]}")
|
81
83
|
end
|
82
84
|
else
|
83
85
|
case [@data[:op], other.data[:op]]
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
86
|
+
when %w(< <=)
|
87
|
+
ret = other.data[:expect_val] <=> @data[:expect_val]
|
88
|
+
ret == 0 ? 1 : ret
|
89
|
+
when %w(< ==)
|
90
|
+
@data[:expect_val] > other.data[:expect_val] ? -1 : nil
|
91
|
+
when %w(== >)
|
92
|
+
@data[:expect_val] > other.data[:expect_val] ? 1 : nil
|
93
|
+
when %w(== >=)
|
94
|
+
@data[:expect_val] >= other.data[:expect_val] ? 1 : nil
|
95
|
+
when %w(== <)
|
96
|
+
@data[:expect_val] < other.data[:expect_val] ? 1 : nil
|
97
|
+
when %w(== <=)
|
98
|
+
@data[:expect_val] <= other.data[:expect_val] ? 1 : nil
|
99
|
+
when %w(> >=)
|
100
|
+
ret = @data[:expect_val] <=> other.data[:expect_val]
|
101
|
+
ret == 0 ? 1 : ret
|
102
|
+
when %w(> ==)
|
103
|
+
@data[:expect_val] < other.data[:expect_val] ? -1 : nil
|
104
|
+
when %w(>= ==)
|
105
|
+
@data[:expect_val] <= other.data[:expect_val] ? -1 : nil
|
106
|
+
when %w(>= >)
|
107
|
+
ret = @data[:expect_val] <=> other.data[:expect_val]
|
108
|
+
ret == 0 ? -1 : ret
|
109
|
+
when %w(<= ==)
|
110
|
+
@data[:expect_val] > other.data[:expect_val] ? -1 : nil
|
111
|
+
when %w(<= <)
|
112
|
+
ret = other.data[:expect_val] <=> @data[:expect_val]
|
113
|
+
ret == 0 ? -1 : ret
|
114
|
+
else
|
115
|
+
nil
|
114
116
|
end
|
115
117
|
end
|
116
118
|
end
|
data/lib/tes/request/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tes-request
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.10'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- wuhuizuo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-07-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: java-properties
|
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
135
|
version: '0'
|
136
136
|
requirements: []
|
137
137
|
rubyforge_project:
|
138
|
-
rubygems_version: 2.7.
|
138
|
+
rubygems_version: 2.7.7
|
139
139
|
signing_key:
|
140
140
|
specification_version: 4
|
141
141
|
summary: Request libs and bins for TES(Test Env Service)
|