Module: SiteHealth
- Defined in:
- lib/site_health.rb,
lib/site_health/link.rb,
lib/site_health/issue.rb,
lib/site_health/nurse.rb,
lib/site_health/timer.rb,
lib/site_health/issues.rb,
lib/site_health/url_map.rb,
lib/site_health/version.rb,
lib/site_health/check_data.rb,
lib/site_health/key_struct.rb,
lib/site_health/null_logger.rb,
lib/site_health/checkers/xml.rb,
lib/site_health/event_emitter.rb,
lib/site_health/issues_report.rb,
lib/site_health/checkers/checker.rb,
lib/site_health/checkers/w3c_css.rb,
lib/site_health/checkers/redirect.rb,
lib/site_health/checkers/w3c_html.rb,
lib/site_health/w3c_journal_builder.rb,
lib/site_health/checkers/json_syntax.rb,
lib/site_health/checkers/html_proofer.rb,
lib/site_health/checkers/missing_title.rb,
lib/site_health/checkers/page_not_found.rb,
lib/site_health/checkers/google_page_speed.rb,
lib/site_health/configuration/configuration.rb,
lib/site_health/checkers/facebook_share_link.rb,
lib/site_health/checkers/missing_description.rb,
lib/site_health/summarizers/page_size_summarizer.rb,
lib/site_health/configuration/html_proofer_configuration.rb,
lib/site_health/configuration/w3c_validators_configuration.rb
Overview
Top-level module/namespace
Defined Under Namespace
Modules: EventEmitter, W3CJournalBuilder Classes: CheckData, Checker, Configuration, FacebookShareLink, GooglePageSpeed, HTMLProofer, HTMLProoferConfiguration, Issue, Issues, IssuesReport, JSONSyntax, KeyStruct, Link, MissingDescription, MissingTitle, NullLogger, Nurse, PageNotFound, PageSpeedSummarizer, Redirect, Timer, UrlMap, W3CCSS, W3CHTML, W3CValidatorsConfiguration, XML
Constant Summary collapse
- PATCH =
Patch version
0
- MINOR =
Minor version
2
- MAJOR =
Major version
0
- VERSION =
Current version
[MAJOR, MINOR, PATCH].join('.').freeze
- W3CJournal =
Holds WC3Validator errors/warnings data
KeyStruct.new( :message, :value, :source, :type, :explanation, :parent, :line, :context, :element, :error?, :warning?, :col, :message_id, :message_count, :skipped_string )
Class Method Summary collapse
-
.check(site, config: SiteHealth.config) {|nurse| ... } ⇒ Hash
Journal data.
-
.check_urls(urls, config: SiteHealth.config) {|nurse| ... } ⇒ Hash
Journal data.
-
.config ⇒ Configuration
The current configuration.
-
.configure {|the| ... } ⇒ Configuration
The current configuration.
-
.load_checker(name) ⇒ Checker
Loaded class that should inherits from Checker.
- .logger ⇒ Object
- .register_checker(klass) ⇒ see SiteHealth#registered_checkers
-
.registered_checkers ⇒ Hash
All registered checkers.
- .require_optional_dependency(path, gem_name: nil) ⇒ Object
Class Method Details
.check(site, config: SiteHealth.config) {|nurse| ... } ⇒ Hash
Returns journal data.
58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/site_health.rb', line 58 def self.check(site, config: SiteHealth.config) nurse = Nurse.new(config: config) yield(nurse) if block_given? Spidr.site(site) do |spider| spider.every_failed_url { |url| nurse.check_failed_url(url) } spider.every_page { |page| nurse.check_page(page) } end nurse.punch_out! end |
.check_urls(urls, config: SiteHealth.config) {|nurse| ... } ⇒ Hash
Returns journal data.
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/site_health.rb', line 75 def self.check_urls(urls, config: SiteHealth.config) nurse = Nurse.new(config: config) yield(nurse) if block_given? agent = Spidr::Agent.new Array(urls).each do |url| page = agent.get_page(url) if page.nil? nurse.check_failed_url(url) next end nurse.check_page(page) end nurse.punch_out! end |
.config ⇒ Configuration
Returns the current configuration.
109 110 111 |
# File 'lib/site_health.rb', line 109 def self.config configure end |
.configure {|the| ... } ⇒ Configuration
Returns the current configuration.
102 103 104 105 106 |
# File 'lib/site_health.rb', line 102 def self.configure @configuration ||= Configuration.new yield(@configuration) if block_given? @configuration end |
.load_checker(name) ⇒ Checker
Returns loaded class that should inherits from Checker.
45 46 47 48 49 50 51 |
# File 'lib/site_health.rb', line 45 def self.load_checker(name) name_key = name.to_sym registered_checkers.fetch(name_key) do require "site_health/checkers/#{name}" registered_checkers[name_key] end end |
.logger ⇒ Object
96 97 98 |
# File 'lib/site_health.rb', line 96 def self.logger config.logger end |
.register_checker(klass) ⇒ see SiteHealth#registered_checkers
33 34 35 36 |
# File 'lib/site_health.rb', line 33 def self.register_checker(klass) registered_checkers[klass.name.to_sym] = klass registered_checkers end |
.registered_checkers ⇒ Hash
Returns all registered checkers.
39 40 41 |
# File 'lib/site_health.rb', line 39 def self.registered_checkers @checkers ||= {} end |
.require_optional_dependency(path, gem_name: nil) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/site_health.rb', line 19 def self.require_optional_dependency(path, gem_name: nil) gem_name ||= path require path rescue LoadError => e = [ e., "unable to require file from '#{gem_name}' gem", 'please install it', ] raise(LoadError, .join(' -- ')) end |