Sha256: b04e947007b7315b6d6571f70612316afdeb0d169d546dbc03780a827f38e1ba

Contents?: true

Size: 749 Bytes

Versions: 7

Compression:

Stored size: 749 Bytes

Contents

class AddSortableVersionToPuppetModules < ActiveRecord::Migration
  class PuppetModule < ApplicationRecord
    self.table_name = "katello_puppet_modules"
  end

  # copied from Util::Package
  def sortable_version(version)
    return "" if version.blank?
    pieces = version.scan(/([A-Za-z]+|\d+)/).flatten.map do |chunk|
      chunk =~ /\d+/ ? "#{"%02d" % chunk.length}-#{chunk}" : "$#{chunk}"
    end
    pieces.join(".")
  end

  def up
    add_column :katello_puppet_modules, :sortable_version, :string

    Katello::PuppetModule.find_each do |puppet_mod|
      puppet_mod.update_attribute(:sortable_version, sortable_version(puppet_mod.version))
    end
  end

  def down
    remove_column :katello_puppet_modules, :sortable_version
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
katello-3.5.2 db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb
katello-3.5.1.1 db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb
katello-3.5.1 db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb
katello-3.5.0.1 db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb
katello-3.5.0 db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb
katello-3.5.0.rc2 db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb
katello-3.5.0.rc1 db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb