Sha256: f79fac2425f5b0a97dbfee0da4c3fa6989cb3466dee07a7fef7270aaafc9278b

Contents?: true

Size: 552 Bytes

Versions: 4

Compression:

Stored size: 552 Bytes

Contents

class Spree::Preference < ActiveRecord::Base

  validates :key, :presence => true

  def value=(value)
    self[:value] = value
    self[:value_type] = value.class.name
  end

  def value
    return unless self[:value]

    case self[:value_type]
    when Symbol.to_s
      self[:value].to_sym
    when Fixnum.to_s
      self[:value].to_i
    when Bignum.to_s
      self[:value].to_f.to_i
    when Float.to_s
      self[:value].to_f
    when TrueClass.to_s
      true
    when FalseClass.to_s
      false
    else
      self[:value]
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
spree_core-1.0.0.rc4 app/models/spree/preference.rb
spree_core-1.0.0.rc3 app/models/spree/preference.rb
spree_core-1.0.0.rc2 app/models/spree/preference.rb
spree_core-1.0.0.rc1 app/models/spree/preference.rb