Class: Sbuilder::ResolverLoader

Inherits:
Object
  • Object
show all
Includes:
Utils::MyLogger
Defined in:
lib/sbuilder/resolver_loader.rb

Direct Known Subclasses

ResolverLoader_YAML

Constant Summary collapse

PROGNAME =

mixer

nil

Constants included from Utils::MyLogger

Utils::MyLogger::LOGFILE

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utils::MyLogger

#getLogger, #logfile

Constructor Details

#initialize(factory, options = {}) ⇒ ResolverLoader


constructore



18
19
20
21
22
# File 'lib/sbuilder/resolver_loader.rb', line 18

def initialize( factory, options = {} )
  @logger = getLogger( PROGNAME, options )
  @logger.info( "#{__method__} initialized" )
  @factory = factory
end

Instance Attribute Details

#controllerObject

get sets when load starts



7
8
9
# File 'lib/sbuilder/resolver_loader.rb', line 7

def controller
  @controller
end

#factoryObject (readonly)

to create stuff



6
7
8
# File 'lib/sbuilder/resolver_loader.rb', line 6

def factory
  @factory
end

Instance Method Details

#createResolverObject

create new mapper object



39
40
41
# File 'lib/sbuilder/resolver_loader.rb', line 39

def createResolver
  factory.createResolver
end

#createResolverRuleObject

create new rule object



45
46
47
# File 'lib/sbuilder/resolver_loader.rb', line 45

def createResolverRule
  factory.createResolverRule
end

#doLoad(filePath) ⇒ Object


sub-class should implement the doload method

Raises:

  • (NoMethodError)


69
70
71
72
73
# File 'lib/sbuilder/resolver_loader.rb', line 69

def doLoad( filePath )
  msg = "Sub class should implement doLoad -method"
  @logger.error( "#{__method__} #{msg}" )        
  raise NoMethodError.new( msg  )
end

#domainEncountered(domain) ⇒ Object

domain encountered during load phase



50
51
52
# File 'lib/sbuilder/resolver_loader.rb', line 50

def domainEncountered( domain )
  controller.domainEncountered( domain )
end

#findResolver(name) ⇒ Object

return mapper with name in controller - error if not found



60
61
62
63
64
# File 'lib/sbuilder/resolver_loader.rb', line 60

def findResolver( name )
  mapper = @controller.findResolver( name )
  raise "Resolver #{name} not found" if mapper.nil?
  return mapper
end

#load(filePath, controller) ⇒ Object


load mapper from ‘filePath’



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/sbuilder/resolver_loader.rb', line 26

def load( filePath, controller )
  @controller = controller
  begin
    mappers = doLoad( filePath )
  rescue Exception => ee
    msg = "Error #{ee} when loading '#{filePath}', caused by #{ee.backtrace.join("\n")} \n\n"
    @logger.error( "#{__method__} #{msg}" )
    raise LoaderException.new( msg )
  end
  return mappers
end

#mapperCreated(mapper) ⇒ Object

doLoad infoms super class for a new mapper, delegate to controller



55
56
57
# File 'lib/sbuilder/resolver_loader.rb', line 55

def mapperCreated( mapper )
  controller.mapperCreated( mapper )
end