class PackageDetector
Constants
- ROOT_DIR
- VERSION
Attributes
package[RW]
Public Class Methods
new(package)
click to toggle source
# File lib/package_detector.rb, line 9 def initialize(package) if package.kind_of? IO @package = package else raise TypeError, "can't recieve an object except for IO object." end end
Public Instance Methods
detect()
click to toggle source
# File lib/package_detector.rb, line 17 def detect package_types = Dir[ROOT_DIR].map{|n| if File.file?(n) package_type(File.basename(n, '.rb')) end } package_types.detect{|type| self.guess(type.new)} end
guess(package_type)
click to toggle source
# File lib/package_detector.rb, line 26 def guess(package_type) package_type.accept(@package, package_type.file_type) end
Private Instance Methods
package_type(basename)
click to toggle source
# File lib/package_detector.rb, line 39 def package_type(basename) klass = basename.split("_").map {|s| s.capitalize }.join("") Kernel.const_get('PackageDetector').const_get('Package').const_get(klass) end