class SprinkleDNS::MockClient

Attributes

hosted_zones[R]

Public Class Methods

new(hosted_zones = []) click to toggle source
# File lib/sprinkle_dns/providers/mock_client.rb, line 7
def initialize(hosted_zones = [])
  @hosted_zones = hosted_zones
end

Public Instance Methods

change_hosted_zones(hosted_zones, configuration) click to toggle source
# File lib/sprinkle_dns/providers/mock_client.rb, line 37
def change_hosted_zones(hosted_zones, configuration)
  change_requests = []

  hosted_zones.each do |hosted_zone|
    changes = EntryPolicyService.new(hosted_zone, configuration).compile

    if changes.any?
      change_requests << MockChangeRequest.new(hosted_zone, 0, rand(3..15), false)
    end
  end

  change_requests
end
check_change_requests(change_requests) click to toggle source
# File lib/sprinkle_dns/providers/mock_client.rb, line 51
def check_change_requests(change_requests)
  change_requests.reject{|cr| cr.in_sync}.each do |change_request|
    change_request.tries += 1
    change_request.in_sync = change_request.tries >= change_request.tries_needed
  end

  change_requests
end
create_hosted_zones(hosted_zones) click to toggle source
# File lib/sprinkle_dns/providers/mock_client.rb, line 27
def create_hosted_zones(hosted_zones)
  change_requests = []

  hosted_zones.each do |hosted_zone|
    change_requests << MockChangeRequest.new(hosted_zone, 0, rand(3..15), false)
  end

  change_requests
end
fetch_hosted_zones(filter: []) click to toggle source
# File lib/sprinkle_dns/providers/mock_client.rb, line 11
def fetch_hosted_zones(filter: [])
  hosted_zones = []

  if filter.empty?
    return []
  end

  @hosted_zones.each do |hz|
    hz.resource_record_sets.each do |entry|
      entry.persisted!
    end
  end

  @hosted_zones.select{|hz| filter.include?(hz.name)}
end