Bạn đang làm nó đúng cách. Các phương thức lớp (tương tự như các phương thức 'tĩnh' trong C ++ hoặc Java) không phải là một phần của thể hiện, vì vậy chúng phải được tham chiếu trực tiếp.
Trên lưu ý đó, trong ví dụ của bạn, bạn sẽ được phục vụ tốt hơn khi biến 'default_make' thành một phương thức thông thường:
#!/usr/bin/ruby
class Truck
    def default_make
        # Class method.
        "mac"
    end
    def initialize
        # Instance method.
        puts default_make  # gets the default via the class's method.
    end
end
myTruck = Truck.new()
Các phương thức lớp hữu ích hơn cho các hàm kiểu tiện ích sử dụng lớp. Ví dụ:
#!/usr/bin/ruby
class Truck
    attr_accessor :make
    def default_make
        # Class method.
        "mac"
    end
    def self.buildTrucks(make, count)
        truckArray = []
        (1..count).each do
            truckArray << Truck.new(make)
        end
        return truckArray
    end
    def initialize(make = nil)
        if( make == nil )
            @make = default_make()
        else
            @make = make
        end
    end
end
myTrucks = Truck.buildTrucks("Yotota", 4)
myTrucks.each do |truck|
    puts truck.make
end