module Domotics::Core
Constants
- CLASS_MAP
Map config names to real classes
- VERSION
Public Class Methods
add_map(args = {})
click to toggle source
Scan file for class name and add to CLASS_MAP
# File lib/domotics/core.rb, line 24 def self.add_map(args = {}) realm = args[:realm] || self if args[:file] class_name = nil index = nil require args[:file] IO.read(args[:file]).each_line do |line| if line =~ /class\s*([A-Z]\w*)[\s\w<]*(#__as__ :(\w*))?/ class_name, index = $1, $3 && $3.to_sym break end end return unless class_name end class_name ||= args[:class_name] index ||= class_name.split(/(?=[A-Z])/).map{ |cnp| cnp.downcase }.join('_').to_sym klass = realm.const_get(class_name) CLASS_MAP[index] = [args[:type], klass] end