Class: SPF::Query::Macro

Inherits:
Object
  • Object
show all
Defined in:
lib/spf/query/macro.rb

Overview

Represents an SPF string macro.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(letter, options = {}) ⇒ Macro

Initializes the macro.

Parameters:

  • letter (Symbol)

    The macro letter.

  • options (Hash) (defaults to: {})

    Additional options.

Options Hash (options):

  • :digits (Integer)

    Number of times to repeat the macro.

  • :reverse (Boolean)

    Whether to reverse the value.

  • :delimiters (Array<String>, String)

    Delimiter characters.



41
42
43
44
45
46
# File 'lib/spf/query/macro.rb', line 41

def initialize(letter,options={})
  @letter     = letter
  @digits     = options[:digits]
  @reverse    = options[:reverse]
  @delimiters = Array(options[:delimiters])
end

Instance Attribute Details

#delimitersArray<String> (readonly)

Macro delimiter character.

Returns:

  • (Array<String>)


21
22
23
# File 'lib/spf/query/macro.rb', line 21

def delimiters
  @delimiters
end

#digitsInteger? (readonly)

Number of times the macro must be repeated.

Returns:

  • (Integer, nil)


16
17
18
# File 'lib/spf/query/macro.rb', line 16

def digits
  @digits
end

#letterSymbol (readonly)

The macro letter.

Returns:

  • (Symbol)


11
12
13
# File 'lib/spf/query/macro.rb', line 11

def letter
  @letter
end

Instance Method Details

#reverse?Boolean

Specifies if the macro should be reversed.

Returns:

  • (Boolean)


53
54
55
# File 'lib/spf/query/macro.rb', line 53

def reverse?
  @reverse
end

#to_sString

Converts the macro a String.

Returns:

  • (String)


62
63
64
# File 'lib/spf/query/macro.rb', line 62

def to_s
  "%{#{@letter}#{@digits}#{@delimiters.join}}"
end