Class: LetsencryptWebfaction::DomainValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/letsencrypt_webfaction/domain_validator.rb

Defined Under Namespace

Classes: Validation

Instance Method Summary collapse

Constructor Details

#initialize(order, client, public_dirs) ⇒ DomainValidator

Returns a new instance of DomainValidator.



7
8
9
10
11
# File 'lib/letsencrypt_webfaction/domain_validator.rb', line 7

def initialize(order, client, public_dirs)
  @order = order
  @client = client
  @public_dirs = public_dirs.map { |dir| File.expand_path(dir) }
end

Instance Method Details

#validate!Object

rubocop:disable Metrics/MethodLength



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/letsencrypt_webfaction/domain_validator.rb', line 13

def validate! # rubocop:disable Metrics/MethodLength
  write_files!

  challenges.map(&:request_validation).tap do |requests|
    next unless requests.any?(&:!)

    $stderr.puts 'Failed to request validations.'
    return false
  end

  10.times do
    challenges.each(&:reload)
    break if no_challenges_pending?

    sleep(2)
  end

  return true if all_challenges_valid?

  print_errors
  false
end