Fix minor issues of the compatibility tables

pull/1514/head
Enoc 4 years ago
parent 0ad6fefa83
commit 5b3e3b3e53

@ -1,7 +1,6 @@
module CompatTables module CompatTables
require 'json' require 'json'
require 'net/http' require 'net/http'
require 'pry'
BROWSERS = { BROWSERS = {
'chrome' => 'Chrome', 'chrome' => 'Chrome',
@ -36,7 +35,7 @@ module CompatTables
uris = [] uris = []
index_json['doc']['body'].each do |element| index_json['doc']['body'].each do |element|
uris.push(element['value']['dataURL']) if element['type'] == 'browser_compatibility' uris.push(element['value']['dataURL']) if element['type'] == 'browser_compatibility' and element['value']['dataURL']
end end
uris.map! do |uri| uris.map! do |uri|
@ -94,7 +93,13 @@ module CompatTables
last_table_entry = html_table.at_css('tbody').last_element_child last_table_entry = html_table.at_css('tbody').last_element_child
last_table_entry.add_child("<th><code>#{key}") if key == '__compat'
tmp = slug.split('/')
last_table_entry.add_child("<th><code>#{tmp.last}")
else
last_table_entry.add_child("<th><code>#{key}")
end
BROWSERS.keys.each do |browser_key| BROWSERS.keys.each do |browser_key|
if key == '__compat' if key == '__compat'
@ -111,71 +116,76 @@ module CompatTables
version_removed = [] version_removed = []
notes = [] notes = []
if json.is_a?(Array) if json
json.each do |element| if json.is_a?(Array)
json.each do |element|
if element['version_added'] if element['version_added']
version_added.push(element['version_added']) version_added.push(element['version_added'])
else else
version_added.push(false) version_added.push(false)
end end
if element['version_removed']
version_removed.push(element['version_removed'])
else
version_removed.push(false)
end
if element['notes']
notes.push(element['notes'])
else
notes.push(false)
end
if element['version_removed']
version_removed.push(element['version_removed'])
else
version_removed.push(false)
end end
else
version_added.push(json['version_added'])
version_removed.push(json['version_removed'])
notes.push(json['notes'])
end
if element['notes'] version_added.map! do |version|
notes.push(element['notes']) if version == true
version = 'Yes'
elsif version == false
version = 'No'
elsif version.is_a?(Numeric)
else else
notes.push(false) version = '?'
end end
version
end end
else
version_added.push(json['version_added'])
version_removed.push(json['version_removed'])
notes.push(json['notes'])
end
version_added.map! do |version|
if version == true
version = 'Yes'
elsif version == false
version = 'No'
elsif version.is_a?(Numeric)
else
version = '?'
end
version
end
if version_removed[0] if version_removed[0]
format_string = "<td class=bc-supports-no>"
else
if version_added[0] == 'No'
format_string = "<td class=bc-supports-no>" format_string = "<td class=bc-supports-no>"
else else
format_string = "<td class=bc-supports-yes>" if version_added[0] == 'No'
format_string = "<td class=bc-supports-no>"
else
format_string = "<td class=bc-supports-yes>"
end
end end
end
for value in (0..version_added.length-1) do for value in (0..version_added.length-1) do
if version_removed[value] if version_removed[value]
format_string += "<div>#{version_added[value]}-#{version_removed[value]}</div>" format_string += "<div>#{version_added[value]}-#{version_removed[value]}</div>"
else
if version_added[value] == 'No'
format_string += "<div>#{version_added[value]}</div>"
else else
format_string += "<div>#{version_added[value]}</div>" if version_added[value] == 'No'
format_string += "<div>#{version_added[value]}</div>"
else
format_string += "<div>#{version_added[value]}</div>"
end
end end
end
if notes[value] if notes[value]
format_string += "<div>#{notes[value]}</div>" format_string += "<div>#{notes[value]}</div>"
end
end end
else
format_string = "<td class=bc-supports-no><div>?</div></td>"
end end
entry.add_child(format_string) entry.add_child(format_string)

Loading…
Cancel
Save