Ruby on Rails, should I use class method or instance method, and why
===

In my rails app when creating a business I have a form that has the following field

       <%= check_box_tag(:default_company) %> 
       <%= label_tag(:default_company, "Set Company as Default") %>

Essentially when I create a business, if they check this box, I need it to run something like the following code.

    def set_default_company(company, user)
      exists = DefaultCompany.find(user.id)
      if exists
        exists.update_attributes(company: company)
      else 	
        DefaultCompany.create(company: company, user: user)
      end
    end

While learning, I would usually do that stuff in my controller but i'm trying to follow best practices and use a fat model, skinny controller, so i'm wanting to move use logic like this

    def create
    @company = Company.new(params[:company])

    if @company.save
      if params[:default_company]
        Company.set_default_company(@company.id, current_user.id,)
      end
      flash[:notice] = "Company was successfully created."
      redirect_to @company
      else
        redirect_to new_company_path
      end
    end

Here is where I am getting confused on whether to use a class method or an instance method, to call set_default_company. They both seem like they would work and I can't see a benefit to one or the other.

In addition to giving me any information as to which method to use, if someone could show me a brief implementation of writing that as a class method vs instance method it may give me a better understanding as to why. Here is how I would write them 

    def self.set_default_company(company, user)
      # Logic here
    end

    def set_default_company(company, user)
      # Logic here
    end

So writing them that way I don't see a benefit to either... thanks in advance

