Find efficiently "greater" string in model attribute

How can I find efficiently the model Invoice with the greater code
(invoice attribute) when the code is a string like "1/10", "2/10",
"3/10" (without quotes) and where only the number before the slash
count? 1/10 < 2/10 < 3/10 < 11/10 < 12/10, etc...

Now I'm using:

  def after_initialize
    if self.new_record? and self.codigo.blank?
      max_codigo = FacturaEmitida.all.map{|f|
f.codigo.split('/')[0].to_i}.max
      if !max_codigo.nil?
        self.codigo = (max_codigo +
1).to_s+'/'+Date.today.strftime("%y")
      else
        self.codigo = "1/"+Date.today.strftime("%y")
      end
    end
  end

but I think it is very inefficient.

If the 10 is the year then I would suggest storing the invoice number
(1,2,3) separately from the year. Then build the full string (1/10)
when you need it.
You may not even need the year code if there is a created_at field.

Colin