Class: Filigree::TourGuide

Inherits:
Object show all
Defined in:
lib/filigree/visitor.rb

Overview

This class can be used to call multiple visitors on an object at once. This could potentialy reduce the number of times data structures are traversed.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*visitors) ⇒ TourGuide

Construct a tour guide for a list of visitors.

Parameters:

  • visitors (Visitor)

    List of visitors



220
221
222
# File 'lib/filigree/visitor.rb', line 220

def initialize(*visitors)
	@visitors = visitors
end

Instance Attribute Details

#visitorsObject (readonly)

Returns the value of attribute visitors.



206
207
208
# File 'lib/filigree/visitor.rb', line 206

def visitors
  @visitors
end

Instance Method Details

#visit(*objects) ⇒ Array<Visitor>

Call each visitor on the specified objects.

Parameters:

  • objects (Object)

    Objects to be visited

Returns:



213
214
215
# File 'lib/filigree/visitor.rb', line 213

def visit(*objects)
	@visitors.each { |visitor| visitor.visit(*objects) }
end