Class: DoHClient::Client::Base
- Inherits:
-
Object
- Object
- DoHClient::Client::Base
- Defined in:
- lib/doh_client/client/base.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.resolve(name, options) ⇒ Object
15 16 17 |
# File 'lib/doh_client/client/base.rb', line 15 def self.resolve(name, ) new.resolve(name, ) end |
Instance Method Details
#build_query ⇒ Object
23 24 25 |
# File 'lib/doh_client/client/base.rb', line 23 def build_query raise NotImplementedError, "You must implement #{self.class}##{__method__}" end |
#endpoint ⇒ Object
19 20 21 |
# File 'lib/doh_client/client/base.rb', line 19 def endpoint raise NotImplementedError, "You must implement #{self.class}##{__method__}" end |
#resolve(name, options) ⇒ Object
9 10 11 12 13 |
# File 'lib/doh_client/client/base.rb', line 9 def resolve(name, ) query = build_query(name, ) validate(query) Request.get(endpoint, query) end |
#validate(query) ⇒ Object
27 28 29 30 31 |
# File 'lib/doh_client/client/base.rb', line 27 def validate(query) raise ArgumentError, "name is a required parameter" if query[:name].nil? raise ArgumentError, "type is a required parameter" if query[:type].nil? raise ArgumentError, "cd must be a boolean value" if query[:cd] && !boolean?(query[:cd]) end |