class Page
Attributes
app[RW]
image[RW]
page[RW]
page_suppressed_rules[RW]
rows[RW]
score[RW]
url[RW]
values[RW]
Public Instance Methods
access_spr(df_yaml_loc = "./data/suppressed_rules.yaml")
click to toggle source
# File lib/html_compilation/classes/objects/page.rb, line 11 def access_spr(df_yaml_loc = "./data/suppressed_rules.yaml") yaml = read_yaml(df_yaml_loc, app.application_name) output = [] levels = ["GLOBAL", "APP", page.upcase.tr(' ', '_')] yaml.each do |key, value| if levels.include?(key) value.each do |value| hash = eval(value) output.push(SuppressedPageRules.new(hash[:guideline], hash[:content])) end end end set_value("page_suppressed_rules", output) page_suppressed_rules end
calc_page_score()
click to toggle source
# File lib/html_compilation/classes/objects/page.rb, line 79 def calc_page_score page_score = 0 rows.each do |row| page_score += row.score end page_score end
remove_duplicate_rows_external(app, page)
click to toggle source
# File lib/html_compilation/classes/objects/page.rb, line 41 def remove_duplicate_rows_external(app, page) app.pages.each do |app_page| unless (app_page == page) app_page.rows.each do |app_row| page.rows.delete_if do |row| same = same_content?(app_row, row) if same app_row.send("instances=", app_row.instances.to_i + 1) end end end end end end
remove_duplicate_rows_internal()
click to toggle source
# File lib/html_compilation/classes/objects/page.rb, line 56 def remove_duplicate_rows_internal duplicate_rows = rows.clone.keep_if do |row_a| rows.each do |row_b| if row_a == row_b @same = false else @same = same_content?(row_b, row_a) if @same row_a.send("instances=", row_b.instances.to_f + 0.5) row_b.send("instances=", row_a.instances.to_f + 0.5) end end end @same end duplicate_rows.each do |duplicate_row| rows.delete_if do |row| duplicate_row == row end end duplicate_rows end
remove_duplicates(app)
click to toggle source
# File lib/html_compilation/classes/objects/page.rb, line 36 def remove_duplicates(app) remove_duplicate_rows_external(app, self) remove_duplicate_rows_internal end
remove_suppressed_rows()
click to toggle source
# File lib/html_compilation/classes/objects/page.rb, line 28 def remove_suppressed_rows page_suppressed_rules.each do |rule| rows.delete_if do |row| include_content?(row, rule) end end end
Private Instance Methods
include_content?(base, comparison)
click to toggle source
# File lib/html_compilation/classes/objects/page.rb, line 89 def include_content?(base, comparison) base.guideline.include?(comparison.guideline) && base.content.include?(comparison.content) end
same_content?(base, comparison)
click to toggle source
# File lib/html_compilation/classes/objects/page.rb, line 93 def same_content?(base, comparison) base.guideline == comparison.guideline && base.content == comparison.content end