Class: Page
- Inherits:
-
BaseObject
- Object
- BaseObject
- Page
- Includes:
- YAMLInteraction
- Defined in:
- lib/html_compilation/classes/objects/page.rb
Instance Attribute Summary collapse
-
#app ⇒ Object
Returns the value of attribute app.
-
#image ⇒ Object
Returns the value of attribute image.
-
#page ⇒ Object
Returns the value of attribute page.
-
#page_suppressed_rules ⇒ Object
Returns the value of attribute page_suppressed_rules.
-
#rows ⇒ Object
Returns the value of attribute rows.
-
#score ⇒ Object
Returns the value of attribute score.
-
#url ⇒ Object
Returns the value of attribute url.
-
#values ⇒ Object
Returns the value of attribute values.
Instance Method Summary collapse
- #access_spr(df_yaml_loc = "./data/suppressed_rules.yaml") ⇒ Object
- #calc_page_score ⇒ Object
- #remove_duplicate_rows_external(app, page) ⇒ Object
- #remove_duplicate_rows_internal ⇒ Object
- #remove_duplicates(app) ⇒ Object
- #remove_suppressed_rows ⇒ Object
Methods included from YAMLInteraction
Methods inherited from BaseObject
Constructor Details
This class inherits a constructor from BaseObject
Instance Attribute Details
#app ⇒ Object
Returns the value of attribute app.
9 10 11 |
# File 'lib/html_compilation/classes/objects/page.rb', line 9 def app @app end |
#image ⇒ Object
Returns the value of attribute image.
9 10 11 |
# File 'lib/html_compilation/classes/objects/page.rb', line 9 def image @image end |
#page ⇒ Object
Returns the value of attribute page.
9 10 11 |
# File 'lib/html_compilation/classes/objects/page.rb', line 9 def page @page end |
#page_suppressed_rules ⇒ Object
Returns the value of attribute page_suppressed_rules.
9 10 11 |
# File 'lib/html_compilation/classes/objects/page.rb', line 9 def page_suppressed_rules @page_suppressed_rules end |
#rows ⇒ Object
Returns the value of attribute rows.
9 10 11 |
# File 'lib/html_compilation/classes/objects/page.rb', line 9 def rows @rows end |
#score ⇒ Object
Returns the value of attribute score.
9 10 11 |
# File 'lib/html_compilation/classes/objects/page.rb', line 9 def score @score end |
#url ⇒ Object
Returns the value of attribute url.
9 10 11 |
# File 'lib/html_compilation/classes/objects/page.rb', line 9 def url @url end |
#values ⇒ Object
Returns the value of attribute values.
9 10 11 |
# File 'lib/html_compilation/classes/objects/page.rb', line 9 def values @values end |
Instance Method Details
#access_spr(df_yaml_loc = "./data/suppressed_rules.yaml") ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# 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 ⇒ Object
79 80 81 82 83 84 85 |
# 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) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# 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 ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# 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) ⇒ Object
36 37 38 39 |
# 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 ⇒ Object
28 29 30 31 32 33 34 |
# 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 |