class Cfhighlander::Factory::ComponentFactory
Attributes
component_sources[RW]
Public Class Methods
new(component_sources = [], parent_path=nil)
click to toggle source
# File lib/cfhighlander.factory.rb, line 16 def initialize(component_sources = [], parent_path=nil) @template_finder = Cfhighlander::Factory::TemplateFinder.new(component_sources, parent_path) @component_sources = component_sources end
Public Instance Methods
buildComponentFromLocation(template_meta, component_name)
click to toggle source
# File lib/cfhighlander.factory.rb, line 36 def buildComponentFromLocation(template_meta, component_name) component = Model::Component.new(template_meta, component_name, self) component.factory = self component.load_config return component end
loadComponentFromTemplate(template_name, template_version = nil, component_name = nil)
click to toggle source
Find component and given list of sources @return [Cfhighlander::Factory::Component]
# File lib/cfhighlander.factory.rb, line 23 def loadComponentFromTemplate(template_name, template_version = nil, component_name = nil) template_meta = @template_finder.findTemplate(template_name, template_version) raise StandardError, "highlander template #{template_name}@#{template_version} not located" + " in sources #{@component_sources}" if template_meta.nil? component_name = template_meta.template_name if component_name.nil? return buildComponentFromLocation(template_meta, component_name) end