class Coppertone::Modifier::Exp
Exp
modifier - specifying a message to be returned in case of failure
Constants
- ASCII_REGEXP
Public Class Methods
create(attributes)
click to toggle source
# File lib/coppertone/modifier/exp.rb, line 7 def self.create(attributes) new(attributes) end
label()
click to toggle source
# File lib/coppertone/modifier/exp.rb, line 37 def self.label 'exp' end
Public Instance Methods
evaluate(macro_context, request_context)
click to toggle source
# File lib/coppertone/modifier/exp.rb, line 12 def evaluate(macro_context, request_context) target_name = target_name_from_domain_spec(macro_context, request_context) return nil unless target_name macro_string = lookup_macro_string(target_name, request_context) return nil unless macro_string expanded = macro_string.expand(macro_context, request_context) return nil unless ASCII_REGEXP.match?(expanded) expanded rescue DNSAdapter::Error nil end
lookup_macro_string(target_name, request_context)
click to toggle source
# File lib/coppertone/modifier/exp.rb, line 28 def lookup_macro_string(target_name, request_context) records = request_context.dns_client.fetch_txt_records(target_name) return nil if records.empty? return nil if records.size > 1 MacroString.new(records.first[:text]) end