Sha256: 4d46cc32cc3ae50944a69426d46cb424c09d74b1d814cb1a411e3ad05fd38020

Contents?: true

Size: 830 Bytes

Versions: 15

Compression:

Stored size: 830 Bytes

Contents

class PreferenceType < ActiveRecord::Base
  has_many_polymorphic :preferenced_records,
               :through => :valid_preference_types,
               :models => [:app_containers, :desktops, :organizers, :applications]

  has_many    :preferences
  belongs_to  :default_preference_option, :foreign_key => 'default_pref_option_id', :class_name => 'PreferenceOption'
  has_and_belongs_to_many :preference_options
  
  alias :options :preference_options
  alias :default_option :default_preference_option

  def options_hash
    Hash[*self.preference_options.collect { |v|[v.internal_identifier, v.value]}.flatten]
  end

  def self.iid( internal_identifier )
    where('internal_identifier = ?', internal_identifier.to_s).first
  end

  def default_value
    default_preference_option.value
  end
  
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
erp_app-3.0.16 app/models/preference_type.rb
erp_app-3.0.15 app/models/preference_type.rb
erp_app-3.0.14 app/models/preference_type.rb
erp_app-3.0.13 app/models/preference_type.rb
erp_app-3.0.12 app/models/preference_type.rb
erp_app-3.0.10 app/models/preference_type.rb
erp_app-3.0.9 app/models/preference_type.rb
erp_app-3.0.8 app/models/preference_type.rb
erp_app-3.0.7 app/models/preference_type.rb
erp_app-3.0.6 app/models/preference_type.rb
erp_app-3.0.5 app/models/preference_type.rb
erp_app-3.0.4 app/models/preference_type.rb
erp_app-3.0.3 app/models/preference_type.rb
erp_app-3.0.2 app/models/preference_type.rb
erp_app-3.0.1 app/models/preference_type.rb