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