Class: RightScraper::Builders::Union
- Inherits:
-
Object
- Object
- RightScraper::Builders::Union
- Defined in:
- lib/right_scraper/builders/union.rb
Overview
Union builder, to permit running multiple builders in sequence with the same interface as running one.
Instance Attribute Summary collapse
-
#subbuilders ⇒ Object
readonly
(Array) subcomponents of this union.
Instance Method Summary collapse
-
#finish ⇒ Object
Notify subbuilders that all scans for this repository have completed.
-
#go(dir, resource) ⇒ Object
Run each builder for this resource.
-
#initialize(classes, options = {}) ⇒ Union
constructor
Create a new union builder.
Constructor Details
#initialize(classes, options = {}) ⇒ Union
Create a new union builder. Recognizes no new options.
Parameters
- classes(List)
-
List of Builder classes to run
- options(Hash)
-
options to initialize each Builder with
40 41 42 |
# File 'lib/right_scraper/builders/union.rb', line 40 def initialize(classes, ={}) @subbuilders = classes.map {|klass| klass.new()} end |
Instance Attribute Details
#subbuilders ⇒ Object (readonly)
(Array) subcomponents of this union
33 34 35 |
# File 'lib/right_scraper/builders/union.rb', line 33 def subbuilders @subbuilders end |
Instance Method Details
#finish ⇒ Object
Notify subbuilders that all scans for this repository have completed.
55 56 57 |
# File 'lib/right_scraper/builders/union.rb', line 55 def finish @subbuilders.each {|builder| builder.finish} end |
#go(dir, resource) ⇒ Object
Run each builder for this resource.
Parameters
- dir(String)
-
directory resource exists at
- resource(RightScraper::Resources::Base)
-
resource instance being built
49 50 51 |
# File 'lib/right_scraper/builders/union.rb', line 49 def go(dir, resource) @subbuilders.each {|builder| builder.go(dir, resource)} end |