Class: Crawlscope::Rules::Links
- Inherits:
-
Object
- Object
- Crawlscope::Rules::Links
- Defined in:
- lib/crawlscope/rules/links.rb
Constant Summary collapse
- CONTEXTUAL_LINK_SELECTORS =
"main a[href], article a[href]"- INTERNAL_PATH_PREFIXES_TO_SKIP =
["/rails/", "/cdn-cgi/"].freeze
- LINK_SCHEMES_TO_SKIP =
["mailto:", "tel:", "javascript:", "data:"].freeze
- MAX_SOURCES_IN_ERROR =
3- MIN_INBOUND_ANCHOR_LINKS =
1
Instance Attribute Summary collapse
-
#code ⇒ Object
readonly
Returns the value of attribute code.
Instance Method Summary collapse
- #call(urls:, pages:, issues:, context:) ⇒ Object
-
#initialize ⇒ Links
constructor
A new instance of Links.
Constructor Details
#initialize ⇒ Links
Returns a new instance of Links.
16 17 18 |
# File 'lib/crawlscope/rules/links.rb', line 16 def initialize @code = :links end |
Instance Attribute Details
#code ⇒ Object (readonly)
Returns the value of attribute code.
14 15 16 |
# File 'lib/crawlscope/rules/links.rb', line 14 def code @code end |
Instance Method Details
#call(urls:, pages:, issues:, context:) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/crawlscope/rules/links.rb', line 20 def call(urls:, pages:, issues:, context:) @allowed_statuses = context.fetch(:allowed_statuses) @base_url = context.fetch(:base_url) @resolve_target = context.fetch(:resolve_target) @base_host = URI.parse(@base_url).host links = extract_links(pages) return if links.empty? resolved_links = resolve_links(links, issues) validate_inbound_counts(urls, pages, resolved_links, issues) end |