Module: Autoloading
- Defined in:
- lib/autoloading.rb,
lib/autoloading/version.rb
Constant Summary collapse
- VERSION =
"0.0.1"
Instance Method Summary collapse
- #const_missing(cname) ⇒ Object
-
#underscore(camel_cased_word) ⇒ Object
Based on ActiveSupport, removed inflections.
Instance Method Details
#const_missing(cname) ⇒ Object
4 5 6 7 8 9 10 |
# File 'lib/autoloading.rb', line 4 def const_missing(cname) prefix = underscore(self.name.to_s) filename = underscore(cname.to_s) path = "#{prefix}/#{filename}" require path const_get(cname) end |
#underscore(camel_cased_word) ⇒ Object
Based on ActiveSupport, removed inflections. github.com/rails/rails/blob/v4.1.0.rc1/activesupport/lib/active_support/inflector/methods.rb
14 15 16 17 18 19 20 21 |
# File 'lib/autoloading.rb', line 14 def underscore(camel_cased_word) word = camel_cased_word.to_s.gsub('::', '/') word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2') word.gsub!(/([a-z\d])([A-Z])/,'\1_\2') word.tr!("-", "_") word.downcase! word end |