Module: ClassX::Pluggable::Util

Public Instance Methods


module2path (mod)

     # File lib/classx/pluggable.rb, line 147
147:       def module2path mod
148:         mod.split(/::/).map { |s|
149:           s.gsub(/([A-Z][a-z]+)(?=[A-Z][a-z]*?)/, '\1_').gsub(/([A-Z])(?=[A-Z][a-z]+)/, '\1_').downcase
150:         }.join(File::SEPARATOR)
151:       end

nested_autoload (mod, path)

     # File lib/classx/pluggable.rb, line 162
162:       def nested_autoload mod, path
163:         name_spaces = mod.split(/::/)
164:         target = name_spaces.pop
165:         tmp = ::Object
166:         name_spaces.each do |const|
167:           tmp = tmp.const_get(const)
168:         end
169:         tmp.autoload(target, path)
170:       end

nested_const_get (mod)

     # File lib/classx/pluggable.rb, line 153
153:       def nested_const_get mod
154:         name_spaces = mod.split(/::/)
155:         result = ::Object
156:         name_spaces.each do |const|
157:           result = result.const_get(const)
158:         end
159:         return result
160:       end