Sha256: d85cef6289b79a049d611fad922995c0a68a0c17a417d6318d8c3d66bcbb37fc

Contents?: true

Size: 815 Bytes

Versions: 100

Compression:

Stored size: 815 Bytes

Contents

module Spree
  class OldPrefs < ActiveRecord::Base
    self.table_name = "spree_preferences"
    belongs_to  :owner, :polymorphic => true
    attr_accessor :owner_klass
  end

  class PreferenceRescue
    def self.try
      OldPrefs.where(:key => nil).each do |old_pref|
        next unless owner = (old_pref.owner rescue nil)
        unless old_pref.owner_type == "Spree::Activator" || old_pref.owner_type == "Spree::Configuration"
          begin
            old_pref.key = [owner.class.name, old_pref.name, owner.id].join('::').underscore
            old_pref.value_type = owner.preference_type(old_pref.name)
            puts "Migrating Preference: #{old_pref.key}"
            old_pref.save
          rescue NoMethodError => ex
            puts ex.message
          end
        end
      end
    end
  end
end

Version data entries

100 entries across 100 versions & 4 rubygems

Version Path
solidus_frontend-1.0.7 lib/spree/frontend/preference_rescue.rb
solidus_frontend-1.0.6 lib/spree/frontend/preference_rescue.rb
solidus_frontend-1.0.5 lib/spree/frontend/preference_rescue.rb
solidus_frontend-1.0.4 lib/spree/frontend/preference_rescue.rb
solidus_frontend-1.0.3 lib/spree/frontend/preference_rescue.rb
solidus_frontend-1.0.2 lib/spree/frontend/preference_rescue.rb
spree_frontend-2.4.10 lib/spree/frontend/preference_rescue.rb
spree_frontend-2.3.13 lib/spree/frontend/preference_rescue.rb
solidus_frontend-1.0.1 lib/spree/frontend/preference_rescue.rb
spree_frontend-2.2.14 lib/spree/frontend/preference_rescue.rb
solidus_frontend-1.0.0 lib/spree/frontend/preference_rescue.rb
solidus_frontend-1.0.0.rc2 lib/spree/frontend/preference_rescue.rb
solidus_frontend-1.0.0.rc1 lib/spree/frontend/preference_rescue.rb
spree_frontend-2.4.9 lib/spree/frontend/preference_rescue.rb
spree_frontend-2.3.12 lib/spree/frontend/preference_rescue.rb
spree_frontend-2.2.13 lib/spree/frontend/preference_rescue.rb
solidus_frontend-1.0.0.pre3 lib/spree/frontend/preference_rescue.rb
solidus_frontend-1.0.0.pre2 lib/spree/frontend/preference_rescue.rb
spree_frontend-2.4.8 lib/spree/frontend/preference_rescue.rb
spree_frontend-2.3.11 lib/spree/frontend/preference_rescue.rb