class SPF::Query::Mechanism

Represents an SPF mechanism.

Constants

QUALIFIERS

Maps qualifier symbols to Symbols

Attributes

name[R]

The mechanism name.

@return [Symbol]

value[R]

The mechanism value.

@return [String, MacroString, IP, nil]

Public Class Methods

new(name,options={}) click to toggle source

Initializes the mechanism.

@param [Symbol] name

@param [Hash] options

Additional options.

@option options [String, MacroString, IP] :value

Optional value.

@option options [Symbol] :qualifier

Mechanism qualifier.
# File lib/spf/query/mechanism.rb, line 40
def initialize(name,options={})
  @name = name

  @value     = options[:value]
  @qualifier = options[:qualifier]
end

Public Instance Methods

fail?() click to toggle source

Determines if the qualifier is a “fail”.

@return [Boolean]

# File lib/spf/query/mechanism.rb, line 71
def fail?
  @qualifier == :fail
end
neutral?() click to toggle source

Determines whether the qualifier is a “neutral”.

@return [Boolean]

# File lib/spf/query/mechanism.rb, line 89
def neutral?
  @qualifier == :neutral
end
pass?() click to toggle source

Determines whether the qualifier is a “pass”.

@return [Boolean]

# File lib/spf/query/mechanism.rb, line 62
def pass?
  @qualifier == :pass || @qualifier.nil?
end
qualifier() click to toggle source

The mechanism qualifier.

@return [:pass, :fail, :soft_fail, :neutral]

The qualifier. Defaults to `:pass`.
# File lib/spf/query/mechanism.rb, line 53
def qualifier
  @qualifier || :pass
end
soft_fail?() click to toggle source

Determines whether the qualifier is a “soft_fail”.

@return [Boolean]

# File lib/spf/query/mechanism.rb, line 80
def soft_fail?
  @qualifier == :soft_fail
end
to_s() click to toggle source

Converts the mechanism to a String.

@return [String]

# File lib/spf/query/mechanism.rb, line 98
def to_s
  str = "#{QUALIFIERS.invert[@qualifier]}#{@name}"
  str << ":#{@value}" if value

  return str
end