class Jekyll::Spaceship::Register
Public Class Methods
use(name)
click to toggle source
# File lib/jekyll-spaceship/cores/register.rb, line 19 def self.use(name) name = name.to_s.gsub(/-/, '').downcase name += 'processor' unless name.match(/processor$/) self.walk(File.join(File.dirname(__FILE__), '/../processors')) do |path| filename = File.basename(path, '.rb') next if filename.gsub(/-/, '').downcase != name Logger.log "🗂 use #{filename}" require path constants = Jekyll::Spaceship.constants.select do |c| c.downcase.to_s == name end next if constants.first.nil? _class = Jekyll::Spaceship.const_get(constants.first) next unless _class.is_a? Class Manager.add _class.new end end
walk(start, &block)
click to toggle source
# File lib/jekyll-spaceship/cores/register.rb, line 5 def self.walk(start, &block) Dir.foreach start do |x| path = File.join(start, x) if x == '.' or x == '..' next elsif File.directory?(path) block.call(path + '/') walk path else block.call(path) end end end