Class: SPF::Query::MacroString

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/spf/query/macro_string.rb

Overview

Represents a string containing SPF macros.

Instance Method Summary collapse

Constructor Details

#initialize(elements) ⇒ MacroString

Initializes the macro string.

Parameters:

  • elements (Array<String, Macro>)

    String literals and String macros.



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

def initialize(elements)
  @elements = elements
end

Instance Method Details

#[](*arguments) ⇒ Array<String, Macro>, ...

Accesses the String literal or macro at the given index or range.

Parameters:

  • arguments (Integer, (Integer, Integer), Range)

    The index or range to access.

Returns:

  • (Array<String, Macro>, String, Macro)

    The String literal(s) or macro(s) at the given index or range.



43
44
45
# File 'lib/spf/query/macro_string.rb', line 43

def [](*arguments)
  @elements[*arguments]
end

#each {|element| ... } ⇒ Enumerator

Enumerates over the macro string literals and macros.

Yields:

  • (element)

Yield Parameters:

  • element (String, Macro)

Returns:

  • (Enumerator)

    If no block is given, an Enumerator will be returned.



30
31
32
# File 'lib/spf/query/macro_string.rb', line 30

def each(&block)
  @elements.each(&block)
end

#to_aArray<String, Macro> Also known as: to_ary

Converts the macro string to an Array.

Returns:



52
53
54
# File 'lib/spf/query/macro_string.rb', line 52

def to_a
  @elements
end

#to_sString

Converts the macro string to a String.

Returns:

  • (String)


63
64
65
# File 'lib/spf/query/macro_string.rb', line 63

def to_s
  @elements.join
end