Sha256: 3331a7209db666042d0c4a95e40c62a2df9e922885eb7054b751bb2569f87072

Contents?: true

Size: 425 Bytes

Versions: 18

Compression:

Stored size: 425 Bytes

Contents

class AddKlassNameToProducts < ActiveRecord::Migration
  def up
    Product.each do |product|
      next if product.klass_name.present?
      
      if product.name == 'Product'
        product.klass_name = 'Product'
      else
        product.klass_name = [
          'Product', product.name.gsub(' - ', '_').gsub('-', '_').gsub(' ', '_').classify
        ].join('::')
      end
      
      product.save!
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
voluntary-0.7.1 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.7.0 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.6.0 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.5.2 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.5.1 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.5.0 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.4.0 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.3.0 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.2.4 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.2.3 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.2.2 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.2.1 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.2.0 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.1.0 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.1.0.rc4 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.1.0.rc3 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.1.0.rc2 db/migrate/20121122185954_add_klass_name_to_products.rb
voluntary-0.1.0.rc1 db/migrate/20121122185954_add_klass_name_to_products.rb