class DoHClient::Client::Base
Public Class Methods
resolve(name, options)
click to toggle source
# File lib/doh_client/client/base.rb, line 15 def self.resolve(name, options) new.resolve(name, options) end
Public Instance Methods
build_query()
click to toggle source
# File lib/doh_client/client/base.rb, line 23 def build_query raise NotImplementedError, "You must implement #{self.class}##{__method__}" end
endpoint()
click to toggle source
# File lib/doh_client/client/base.rb, line 19 def endpoint raise NotImplementedError, "You must implement #{self.class}##{__method__}" end
resolve(name, options)
click to toggle source
# File lib/doh_client/client/base.rb, line 9 def resolve(name, options) query = build_query(name, options) validate(query) Request.get(endpoint, query) end
validate(query)
click to toggle source
# 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
Private Instance Methods
boolean?(param)
click to toggle source
# File lib/doh_client/client/base.rb, line 35 def boolean?(param) [true, false].include? param end