Class: RightScraper::Builders::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/right_scraper/builders/base.rb

Overview

Base class for building additional metadata from filesystem based checkouts. Subclasses should override #go, and possibly #new if they require additional arguments.

The lifecycle for a builder is as follows:

  • builder = Builder.new (once)

  • builder.go(dir, resource) (many times)

  • builder.finish (once)

Direct Known Subclasses

Filesystem

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Base

Returns a new instance of Base.

Parameters:

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

    for builder

Options Hash (options):

  • :logger (Logger)

    for builder



41
42
43
# File 'lib/right_scraper/builders/base.rb', line 41

def initialize(options = {})
  @logger = options[:logger] || ::RightScraper::Loggers::Default.new
end

Instance Method Details

#finishTrueClass

Notification that all scans for this repository have completed.

Returns:

  • (TrueClass)

    always true



58
59
60
# File 'lib/right_scraper/builders/base.rb', line 58

def finish
  true
end

#go(dir, resource) ⇒ TrueClass

Run builder for this resource.

Parameters:

  • dir (String)

    for resource

  • resource (Object)

    to build

Returns:

  • (TrueClass)

    always true

Raises:

  • (NotImplementedError)


51
52
53
# File 'lib/right_scraper/builders/base.rb', line 51

def go(dir, resource)
  raise NotImplementedError
end