Method: MTK::Patterns::Pattern#initialize

Defined in:
lib/mtk/patterns/pattern.rb

#initialize(elements, options = {}) ⇒ Pattern

Returns a new instance of Pattern.

Parameters:

  • elements (Enumerable)

    the list of elements in the pattern

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

    the pattern options

Options Hash (options):

  • :max_elements (Fixnum)

    the #max_elements (default is nil, which means unlimited)

  • :max_cycles (Fixnum)

    the #max_cycles (default is 1)



42
43
44
45
46
47
48
49
50
# File 'lib/mtk/patterns/pattern.rb', line 42

def initialize(elements, options={})
  elements = elements.to_a if elements.is_a? Enumerable
  @elements = elements
  @options = options
  @min_elements = options[:min_elements]
  @max_elements = options[:max_elements]
  @max_cycles = options.fetch(:max_cycles, 1)
  rewind
end