Module: OpenNamespace
- Defined in:
- lib/open_namespace/version.rb,
lib/open_namespace/class_methods.rb,
lib/open_namespace/open_namespace.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- VERSION =
open_namespace version
'0.3.2'
Class Method Summary collapse
-
.constant_path(name) ⇒ String
Maps a constant name to a likely file path.
- .included(base) ⇒ Object
Class Method Details
.constant_path(name) ⇒ String
Maps a constant name to a likely file path.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/open_namespace/open_namespace.rb', line 19 def OpenNamespace.constant_path(name) path = name.to_s.dup # back-ported from extlib's String#to_const_path path.gsub!(/::/,'/') # back-ported from extlib's String#snake_case unless path.match(/\A[A-Z]+\z/) path.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2') path.gsub!(/([a-z])([A-Z])/, '\1_\2') end path.downcase! return path end |
.included(base) ⇒ Object
4 5 6 |
# File 'lib/open_namespace/open_namespace.rb', line 4 def self.included(base) base.extend ClassMethods end |