Class: SPF::Mech::A

Inherits:
SPF::Mech show all
Defined in:
lib/spf/model.rb

Constant Summary collapse

NAME =
'a'

Constants inherited from SPF::Mech

DEFAULT_QUALIFIER, EXPLANATION_TEMPLATES_BY_RESULT_CODE, NAME_PATTERN, QUALIFIER_PATTERN

Constants inherited from Term

Term::DOMAIN_END_PATTERN, Term::DOMAIN_SPEC_PATTERN, Term::HEXWORD_PATTERN, Term::IPV4_ADDRESS_PATTERN, Term::IPV6_ADDRESS_PATTERN, Term::MACRO_DELIMITER, Term::MACRO_EXPAND_PATTERN, Term::MACRO_LITERAL_PATTERN, Term::MACRO_STRING_PATTERN, Term::MACRO_TRANSFORMERS_PATTERN, Term::NAME_PATTERN, Term::QNUM_PATTERN, Term::TOPLABEL_PATTERN, Term::TWO_HEXWORDS_OR_IPV4_ADDRESS_PATTERN

Instance Attribute Summary

Attributes inherited from Term

#domain_spec, #errors, #ip_address, #ip_netblocks, #ip_network, #ipv4_prefix_length, #ipv6_prefix_length, #raw_params, #record_domain

Instance Method Summary collapse

Methods inherited from SPF::Mech

#default_ipv4_prefix_length, #default_ipv6_prefix_length, #explain, #explanation_template, #initialize, #match_in_domain, #parse, #parse_end, #parse_name, #parse_qualifier, #qualifier, #to_s

Methods inherited from Term

#domain, #error, #initialize, new_from_string, #parse_domain_spec, #parse_ipv4_address, #parse_ipv4_ipv6_prefix_lengths, #parse_ipv4_network, #parse_ipv4_prefix_length, #parse_ipv6_address, #parse_ipv6_network, #parse_ipv6_prefix_length, #text

Constructor Details

This class inherits a constructor from SPF::Mech

Instance Method Details

#match(server, request, want_result = true) ⇒ Object



412
413
414
415
# File 'lib/spf/model.rb', line 412

def match(server, request, want_result = true)
  server.count_dns_interactive_term(request)
  return self.match_in_domain(server, request, self.domain(server, request))
end

#paramsObject



398
399
400
401
402
403
404
405
406
407
408
409
410
# File 'lib/spf/model.rb', line 398

def params
  params = ''
  if @domain_spec
    params += @domain_spec.to_s if @domain_spec
  end
  if @ipv4_prefix_length and @ipv4_prefix_length != self.default_ipv4_prefix_length
    params += '/' + @ipv4_prefix_length.to_s
  end
  if @ipv6_prefix_length and @ipv6_prefix_length != self.default_ipv6_prefix_length
    params += '//' + @ipv6_prefix_length.to_s
  end
  return params
end

#parse_params(required = true) ⇒ Object



392
393
394
395
396
# File 'lib/spf/model.rb', line 392

def parse_params(required = true)
  @raw_params = @parse_text.dup
  self.parse_domain_spec
  self.parse_ipv4_ipv6_prefix_lengths
end