lx_data_validation 0.0.4 → 0.0.5
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/data_validation/comparison/comparison_base.rb +2 -2
- data/lib/data_validation/comparison/ranking_table_mw_poll_comparison.rb +1 -1
- data/lib/data_validation/comparison/ranking_table_mw_pr_comparison.rb +0 -2
- data/lib/data_validation/data_access.rb +16 -9
- data/lib/data_validation/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d375db47b73f839c7657154f711f7b91f008af0f
|
4
|
+
data.tar.gz: 2bc442e90cc560b35a4e8b6489da9c0fa035443a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5114d8ee2f53f3c4f6a8b986703326b704fb72c89d972f59006d9464242479c2141558e5a935039dfda67bc77f13202d7739e5ed2605f6a6727fd11b9eb2905
|
7
|
+
data.tar.gz: 57de47bcd55eff91184b7d00e6c5a9ae13ba3d9dd8a21cb880308af353a160d7cfba0e723f0059f9ddbf0292c076fddc489630470127934bbb7fd872eb32a155
|
@@ -52,7 +52,7 @@ module DataValidation
|
|
52
52
|
end
|
53
53
|
|
54
54
|
|
55
|
-
unless (team_value.is_a?(String) && team_value.include?(item[i])) ||
|
55
|
+
unless (team_value.is_a?(String) && team_value.include?(item[i].strip)) ||
|
56
56
|
(team_value.is_a?(Float) && team_value == item[i].to_f) ||
|
57
57
|
(team_value.is_a?(Integer) && team_value == item[i].to_i)
|
58
58
|
|
@@ -68,9 +68,9 @@ module DataValidation
|
|
68
68
|
def compare_conf_standings(api_data, data_access)
|
69
69
|
puts 'Start to compare conf ranking tables'
|
70
70
|
conf_standing_data = data_access.conf_standing_data
|
71
|
+
|
71
72
|
conf_standing_data.each do |standing|
|
72
73
|
full_conf = ''
|
73
|
-
# puts standing.to_s
|
74
74
|
standing.each_with_index do |record, i|
|
75
75
|
if i == 0
|
76
76
|
state = record[0]
|
@@ -9,7 +9,7 @@ module DataValidation
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def field_array
|
12
|
-
['rank', 'teamName', %w|record wins|, %w|record losses|, %w|record ties|, 'pollPoint', 'pollFirst'
|
12
|
+
['rank', 'teamName', %w|record wins|, %w|record losses|, %w|record ties|, 'pollPoint', 'pollFirst']
|
13
13
|
end
|
14
14
|
|
15
15
|
def empty_field
|
@@ -32,10 +32,8 @@ module DataValidation
|
|
32
32
|
## compare first table
|
33
33
|
web_data.each_with_index do |item, index|
|
34
34
|
team = api_data['results']['results']['teams'][index]
|
35
|
-
|
36
35
|
i = 0
|
37
36
|
field_array.each do |filed_name|
|
38
|
-
|
39
37
|
if filed_name.is_a? String
|
40
38
|
team_value = team[filed_name]
|
41
39
|
elsif filed_name.is_a? Array
|
@@ -27,7 +27,15 @@ module DataValidation
|
|
27
27
|
index = 0
|
28
28
|
doc.search('div.cs1 div.cs1').text.lines.map do |line|
|
29
29
|
if /^\s*(?<rank>\d+)\s+(?<rest>.*)/ =~ line
|
30
|
-
data_array = ([rank] << team_names[index])
|
30
|
+
data_array = ([rank] << team_names[index])
|
31
|
+
rest_parts = rest.split(' ')
|
32
|
+
rest_parts.each do |item|
|
33
|
+
if item.match /^\d+-/ # win-loss-tie value
|
34
|
+
data_array += item.split('-')
|
35
|
+
else
|
36
|
+
data_array << item
|
37
|
+
end
|
38
|
+
end
|
31
39
|
index += 1
|
32
40
|
data_array
|
33
41
|
end
|
@@ -59,25 +67,21 @@ module DataValidation
|
|
59
67
|
conf_standing_record = []
|
60
68
|
lines = doc.search('div.laxcs1, div.laxcss').text.lines
|
61
69
|
|
62
|
-
conf_data_index = 0
|
63
70
|
lines.each_with_index do |line, index|
|
64
|
-
if line
|
71
|
+
if /^\s(?<conf_full_name>[A-Z].*)Conference/ =~ line || /^\s(?<conf_full_name>[A-Z].*)Overall/ =~ line
|
65
72
|
if conf_standing_record.length > 0 ## it's a new conf standing table
|
66
73
|
@conf_standing_data << conf_standing_record
|
67
74
|
conf_standing_record = []
|
68
75
|
end
|
69
76
|
|
70
|
-
conf = conf_data
|
71
|
-
|
72
|
-
if conf.nil?
|
77
|
+
conf = get_conf(conf_full_name, conf_data)
|
78
|
+
if conf.nil? ## last standing table has no record, the response of "getConferences" api will not include this conference
|
73
79
|
puts 'No independent conf data'
|
74
80
|
@conf_standing_data << conf_standing_record
|
75
81
|
break
|
76
82
|
end
|
77
83
|
|
78
84
|
conf_standing_record << [conf['state'], conf['teamClass'], conf['conference']]
|
79
|
-
|
80
|
-
conf_data_index += 1
|
81
85
|
elsif /^\s*\d+\s+/.match line
|
82
86
|
conf_standing_record << line.split(' ')
|
83
87
|
end
|
@@ -88,7 +92,10 @@ module DataValidation
|
|
88
92
|
end
|
89
93
|
end
|
90
94
|
|
91
|
-
|
95
|
+
def get_conf(conf_full_name, conf_data)
|
96
|
+
selected = conf_data.select { |conf| conf_full_name.include?("#{conf['state']}") && conf_full_name.include?("#{conf['teamClass']}") && conf_full_name.include?("#{conf['conference']}")}
|
97
|
+
selected.first if selected && selected.size > 0
|
98
|
+
end
|
92
99
|
|
93
100
|
def get_response_from_mobile_api
|
94
101
|
HTTParty.post(api_url, headers: {'Content-Type' => 'application/json'}, body: api_body)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lx_data_validation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roger Tong
|
@@ -93,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
93
|
version: '0'
|
94
94
|
requirements: []
|
95
95
|
rubyforge_project:
|
96
|
-
rubygems_version: 2.
|
96
|
+
rubygems_version: 2.6.7
|
97
97
|
signing_key:
|
98
98
|
specification_version: 4
|
99
99
|
summary: Data validation for LaxPower
|