Get the name of a Ruby class

Here's how you can go about getting the name of a class in Ruby

Earlier today I wanted to get the name of a class in Ruby.

The reason I needed this was because I was grabbing an object that was polymorphic so I didn't really know what I was dealing with.

Here is how I did it with some help from ActiveSupport;

my_object.class.name.demodulize

my_object is the object that I was unsure about.

Calling class on it returns a Class object.

Calling name on that object returns the name of the class.

Calling demodulize is a nice way of removing any modules that happen to be before it (I didn't need the module information and most of the times you won't).

If you don't want to rely on ActiveSupport you can do;

my_object.class.name.split('::').last


Recent posts View all

Ruby

How to ignore Bullet in RSpec tests

Using Bullet during a test can pick up mistakes but also has false negatives; here is an easy way to ignore them

Ruby

How we used Nokogiri to fix a sizing issue in YouTube's oEmbed

At some point, one of our calls to YouTube's oEmbed endpoint was returning videos way too small; we fixed in in our Rails application by using Nokogiri