Sha256: d5d47c3949d13c7e8f23e57df12a1ae1f1b713598901ca610e03c5c5d5b6685c
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
# frozen_string_literal: true module LinkChecker class Checker include LinkChecker::Config include LinkChecker::Callbacks attr_reader :results attr_accessor(*Config::ATTRIBUTES) def initialize(options = {}) LinkChecker::Config::ATTRIBUTES.each do |key| send("#{key}=", options[key] || LinkChecker.config.send(key)) end raise ArgumentError, "Missing methods." if methods&.none? @logger ||= options[:logger] || LinkChecker::Config.logger || LinkChecker::Logger.default @results = { error: [], failure: [], success: [] } unless options.key?(:results) && !options[:results] end def task_klass @task_klass ||= begin module_name = self.class.name.split("::")[...-1].join('::') Object.const_get("#{module_name}::Task") end end def check(uri, options = {}) tasks = Tasks.new( self, task_klass, uri, methods, options ) tasks.on do |event, *args| results[event] << args.first if @results && %i[error failure success].include?(event) callback event, *args end tasks.execute! end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ruby-link-checker-0.2.0 | lib/ruby-link-checker/checker.rb |
ruby-link-checker-0.1.0 | lib/ruby-link-checker/checker.rb |