ruby - How to alias a class method in rails model? -


i want alias class method on 1 of rails models.

  def self.sub_agent    id = subagentstatus.where(name: "active").first.id    where(type: "subagent",sub_agent_status_id: id).order(:first_name)       end 

if instance method, use alias_method, doesn't work class methods. how can without duplicating method?

you can use:

class foo      def instance_method           end       alias_method :alias_for_instance_method, :instance_method     def self.class_method    end       class <<self        alias_method :alias_for_class_method, :class_method    end    end   

or try:

self.singleton_class.send(:alias_method, :new_name, :original_name)