mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 07:08:01 +00:00
Add Demodulize A Class Name as a rails til
This commit is contained in:
28
rails/demodulize-a-class-name.md
Normal file
28
rails/demodulize-a-class-name.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Demodulize A Class Name
|
||||
|
||||
If you call `.class.name` on an instance of some class, the fully qualified
|
||||
name will be returned, module names and all. Consider the following example
|
||||
class:
|
||||
|
||||
```ruby
|
||||
module One
|
||||
module Two
|
||||
class Three
|
||||
...
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
```ruby
|
||||
> One::Two::Three.new.class.name
|
||||
#=> "One::Two::Three"
|
||||
```
|
||||
|
||||
If you just want the unqualified class name; modules not included, you can
|
||||
use the `#demodulize` method provided by `ActiveSupport`.
|
||||
|
||||
```ruby
|
||||
> One::Two::Three.new.class.name.demodulize
|
||||
#=> "Three"
|
||||
```
|
||||
Reference in New Issue
Block a user