1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 23:28:02 +00:00

Add Demodulize A Class Name as a rails til

This commit is contained in:
jbranchaud
2016-04-11 16:39:38 -05:00
parent 55687af878
commit 4be459cd02
2 changed files with 29 additions and 0 deletions

View File

@@ -249,6 +249,7 @@ _390 TILs and counting..._
- [Conditional Class Selectors in Haml](rails/conditional-class-selectors-in-haml.md)
- [Creating Records of Has_One Associations](rails/creating-records-of-has-one-associations.md)
- [Custom Validation Message](rails/custom-validation-message.md)
- [Demodulize A Class Name](rails/demodulize-a-class-name.md)
- [Hash Slicing](rails/hash-slicing.md)
- [Ignore Poltergeist JavaScript Errors](rails/ignore-poltergeist-javascript-errors.md)
- [Migrating Up Down Up](rails/migrating-up-down-up.md)

View 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"
```