Class: DnsMadeEasy::Zone::RemoteAdapter
- Inherits:
-
Object
- Object
- DnsMadeEasy::Zone::RemoteAdapter
- Defined in:
- lib/dnsmadeeasy/zone/remote_adapter.rb
Overview
Converts DNS Made Easy API record hashes into provider-neutral zone records.
Constant Summary collapse
- SUPPORTED_RECORD_TYPES =
Types::DNS_RECORD_TYPES.freeze
- SOURCE_ID =
'dns-made-easy'
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(response, domain:, default_ttl: 300) ⇒ RemoteAdapter
constructor
A new instance of RemoteAdapter.
Constructor Details
#initialize(response, domain:, default_ttl: 300) ⇒ RemoteAdapter
Returns a new instance of RemoteAdapter.
17 18 19 20 21 |
# File 'lib/dnsmadeeasy/zone/remote_adapter.rb', line 17 def initialize(response, domain:, default_ttl: 300) @response = response @domain = domain @default_ttl = default_ttl end |
Instance Method Details
#call ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/dnsmadeeasy/zone/remote_adapter.rb', line 23 def call provider_records = [] warnings = [] remote_records.each do |remote_record| if remote_record['type'] == 'HTTPRED' warnings << omitted_httpred_warning(remote_record) elsif SUPPORTED_RECORD_TYPES.include?(remote_record['type']) provider_records << provider_record(remote_record) else return Failure(["Unsupported DNS Made Easy record type: #{remote_record['type']}"]) end end Success(RemoteRecords.new(provider_records: provider_records, warnings: warnings)) rescue Dry::Struct::Error => e Failure([e.]) end |