Module: Tango::Kernel

Defined in:
lib/tango/kernel.rb

Class Method Summary (collapse)

Class Method Details

+ (String) classify(file_path)

Convert file path to class name

Parameters:

  • file_path (String)

Returns:

  • (String)


7
8
9
# File 'lib/tango/kernel.rb', line 7

def self.classify( file_path )
  File.basename( file_path, ".*" ).split( "_" ).map { |w| w.capitalize }.join
end

+ (Class) load(file, module_prefix = "")

Load class from a file

Parameters:

  • file (String)
  • module_prefix (String) (defaults to: "")

Returns:

  • (Class)


16
17
18
19
20
21
22
23
# File 'lib/tango/kernel.rb', line 16

def self.load( file, module_prefix = "" )  
    
    require file
    
    class_name = Kernel.classify( file )
    Kernel.const_get( "#{module_prefix}#{class_name}" )
    
end

+ (Symbol) symbolize(klass)

Obtain symbol of a class

Examples:

Tango::Kernel.symblize( A::B::SuperKlass ) #=> :super_klass

Parameters:

  • klass (Class)

Returns:

  • (Symbol)


31
32
33
# File 'lib/tango/kernel.rb', line 31

def self.symbolize( klass )
  klass.to_s.split( '::' ).last.gsub( /(.)([A-Z])/ ,'\1_\2' ).downcase.to_sym
end