Class: Risu::Base::PostProcessManager
- Inherits:
-
Object
- Object
- Risu::Base::PostProcessManager
- Defined in:
- lib/risu/base/post_process_manager.rb
Instance Attribute Summary collapse
-
#registered_postprocesses ⇒ Object
Returns the value of attribute registered_postprocesses.
Instance Method Summary collapse
-
#display_postprocesses ⇒ Object
Displays a list of all the templates to STDOUT.
-
#initialize(path) ⇒ Object
constructor
Creates new instance of TemplateManager.
-
#load_postprocesses(path, recursive = true) ⇒ Object
Loads templates from a specific path.
- #sort ⇒ Object
-
#validate(template) ⇒ Boolean
Validates that a template is a valid template.
Constructor Details
#initialize(path) ⇒ Object
Creates new instance of TemplateManager
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/risu/base/post_process_manager.rb', line 33 def initialize path @registered_postprocesses = Array.new @postprocesses = Array.new base_dir = __FILE__.gsub("risu/base/post_process_manager.rb", "") load_postprocesses(base_dir + path) load_postprocesses(Dir.pwd, false) load_postprocesses(File.(USER_TEMPLATES_DIR)) if File.exist?(File.(USER_TEMPLATES_DIR)) && File.directory?(File.(USER_TEMPLATES_DIR)) sort end |
Instance Attribute Details
#registered_postprocesses ⇒ Object
Returns the value of attribute registered_postprocesses.
26 27 28 |
# File 'lib/risu/base/post_process_manager.rb', line 26 def registered_postprocesses @registered_postprocesses end |
Instance Method Details
#display_postprocesses ⇒ Object
Displays a list of all the templates to STDOUT
103 104 105 106 107 108 109 110 111 112 |
# File 'lib/risu/base/post_process_manager.rb', line 103 def display_postprocesses puts "Available Post Processing" @registered_postprocesses.each do |p| if p.info[:plugin_id] != nil puts "\t#{p.info[:description]} (#{p.info[:plugin_id]})\n" else puts "\t#{p.info[:description]}" end end end |
#load_postprocesses(path, recursive = true) ⇒ Object
Loads templates from a specific path
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/risu/base/post_process_manager.rb', line 60 def load_postprocesses(path, recursive=true) begin search_path = "#{path}/**/*.rb" if recursive == true search_path = "#{path}/*.rb" if recursive == false Dir[search_path].each do |x| begin require x rescue => e #puts e.inspect #puts e.backtrace next end end PostProcessBase.possible_postprocesses.each do |p| if validate(p) == true @postprocesses << p if @postprocesses.include?(p) == false end end rescue => e puts "[!] Invalid post processing path" puts e.inspect puts e.backtrace end end |
#sort ⇒ Object
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/risu/base/post_process_manager.rb', line 46 def sort @postprocesses.each do |klass| k = klass.new @registered_postprocesses << k end @registered_postprocesses.sort! do |a,b| a <=> b end end |
#validate(template) ⇒ Boolean
Validates that a template is a valid template
95 96 97 98 99 100 |
# File 'lib/risu/base/post_process_manager.rb', line 95 def validate template t = template.new return false if t == nil return t.instance_variable_defined?("@info") end |