Why Module/Class/Object are redefined in Active Support?

Can these keywords in ruby be redefined? And what are the main purposes
to do that?

They're not redefined. In ruby, a class/module is never 'closed' -
i.e. you can just add new methods and override old ones. Some people
call this 'monkey patching' and act like it's a bad thing. To
rubyists, it's a powerful feature. Rails extends and modifies the
core of ruby to add the features that we know and love. For example,
if I wanted to add a method to all ActiveRecord objects for my
application, I could just open up ActiveRecord and define it:

class ActiveRecord:Base
  def self.number_of_attributes

I could then use this method on any of my models:
Person.number_of_attributes -> 3

Hope that helps,