Sha256: ff93008fcb4bfbcaaf61f58f663ced6c6a0cee1fdb897a6ac53965360f877e05

Contents?: true

Size: 620 Bytes

Versions: 4

Compression:

Stored size: 620 Bytes

Contents

# Preferences...

module Droom
  class Preference < ActiveRecord::Base
    attr_accessible :key, :value, :uuid
    belongs_to :created_by, :class_name => "Droom::User"
    validates :key, :presence => true, :uniqueness => true
    
    def set(value)
      if boolean?
        self.value = value ? 1 : 0
      else
        self.value = value
      end
      self.save if changed?
    end
    
    def get
      if boolean?
        value.to_i == 1
      else
        value
      end
    end
    
    def boolean?
      key.last == "?"
    end
    
    def uuid
      self[:uuid] ||= SecureRandom.uuid
    end
  
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
droom-0.4.3 app/models/droom/preference.rb
droom-0.4.2 app/models/droom/preference.rb
droom-0.4.1 app/models/droom/preference.rb
droom-0.2.1 app/models/droom/preference.rb