class OroGen::Loaders::Files
Attributes
available_projects[R]
available_typekits[R]
Public Class Methods
new(root_loader = self)
click to toggle source
Calls superclass method
OroGen::Loaders::Base.new
# File lib/orogen/loaders/files.rb, line 7 def initialize(root_loader = self) @available_projects = Hash.new @available_typekits = Hash.new super end
Public Instance Methods
clear()
click to toggle source
Calls superclass method
OroGen::Loaders::Base#clear
# File lib/orogen/loaders/files.rb, line 13 def clear @available_projects.clear @available_typekits.clear super end
deployment_model_from_name(name)
click to toggle source
# File lib/orogen/loaders/files.rb, line 55 def deployment_model_from_name(name) if model = loaded_deployment_models[name] return model end each_project do |project| if m = project.find_deployment_by_name(name) loaded_deployment_models[name] = m return m end end raise DeploymentModelNotFound, "there is no deployment called #{name} on #{self}" end
each_available_deployment_name() { |name| ... }
click to toggle source
# File lib/orogen/loaders/files.rb, line 119 def each_available_deployment_name(&block) return enum_for(__method__) if !block_given? each_project do |project| project.each_deployment do |spec| yield(spec.name) end end nil end
each_available_project_name(&block)
click to toggle source
# File lib/orogen/loaders/files.rb, line 111 def each_available_project_name(&block) return available_projects.each_key(&block) end
each_available_typekit_name(&block)
click to toggle source
# File lib/orogen/loaders/files.rb, line 115 def each_available_typekit_name(&block) return available_typekits.each_key(&block) end
each_project() { |project| ... }
click to toggle source
# File lib/orogen/loaders/files.rb, line 77 def each_project return enum_for(__method__) if !block_given? available_projects.each_key do |project_name| project = begin root_loader.project_model_from_name(project_name) rescue Exception => e OroGen.warn "could not load #{project_name}: #{e.message}" next end yield(project) end nil end
find_project_from_deployment_name(name)
click to toggle source
# File lib/orogen/loaders/files.rb, line 102 def find_project_from_deployment_name(name) each_project do |project| if project.find_deployment_by_name(name) return project.name end end nil end
find_task_library_from_task_model_name(name)
click to toggle source
# File lib/orogen/loaders/files.rb, line 93 def find_task_library_from_task_model_name(name) each_project do |project| if project.find_task_context(name) return project.name end end nil end
has_project?(name)
click to toggle source
# File lib/orogen/loaders/files.rb, line 33 def has_project?(name) available_projects.has_key?(name) end
has_typekit?(name)
click to toggle source
# File lib/orogen/loaders/files.rb, line 37 def has_typekit?(name) available_typekits.has_key?(name) end
project_model_text_from_name(name)
click to toggle source
# File lib/orogen/loaders/files.rb, line 24 def project_model_text_from_name(name) path = available_projects[name] if !path raise ProjectNotFound, "no project called #{name} on #{self}" end return File.read(path), path end
register_orogen_file(path, name = nil)
click to toggle source
# File lib/orogen/loaders/files.rb, line 19 def register_orogen_file(path, name = nil) name ||= File.basename(path, ".orogen") available_projects[name] = path end
register_typekit(path, name)
click to toggle source
# File lib/orogen/loaders/files.rb, line 41 def register_typekit(path, name) typelist = File.join(path, "#{name}.typelist") tlb = File.join(path, "#{name}.tlb") available_typekits[name] = [typelist, tlb] end
to_s()
click to toggle source
# File lib/orogen/loaders/files.rb, line 73 def to_s; "#<OroGen::Loaders::Files(#{object_id.to_s(16)}) projects=#{available_projects.keys.sort.join(",")} typekits=#{available_typekits.keys.sort.join(",")}>" end
typekit_model_text_from_name(name)
click to toggle source
# File lib/orogen/loaders/files.rb, line 47 def typekit_model_text_from_name(name) typelist, tlb = available_typekits[name] if !typelist raise TypekitNotFound, "#{self} has not typekit named #{name}" end return File.read(tlb), File.read(typelist) end