Class: ConfigurationItem

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/configuration_item.rb

Instance Method Summary collapse

Instance Method Details

#categoryObject



12
13
14
# File 'app/models/configuration_item.rb', line 12

def category
  self.type.category
end

#clear_optionsObject



23
24
25
26
27
# File 'app/models/configuration_item.rb', line 23

def clear_options
  self.options.each{|option|option.destroy} if self.configuration_item_type.allow_user_defined_options?
  self.options.destroy_all
  self.save
end

#set_options(internal_identifiers_or_value) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'app/models/configuration_item.rb', line 29

def set_options(internal_identifiers_or_value)
  if self.configuration_item_type.allow_user_defined_options?
    value = internal_identifiers_or_value.first
    unless value.blank?
      self.options << ConfigurationOption.create(:value => value, :user_defined => true)
    end
  elsif self.configuration_item_type.is_multi_optional?
    internal_identifiers_or_value.each do |value|
      self.options << self.configuration_item_type.find_configuration_option(value) unless value.blank?
    end
  else
    value = internal_identifiers_or_value.first
    self.options << self.configuration_item_type.find_configuration_option(internal_identifiers_or_value) unless value.blank?
  end

  self.save
end

#to_js_hashObject



16
17
18
19
20
21
# File 'app/models/configuration_item.rb', line 16

def to_js_hash
  {:id => self.id,
    :configruationItemType => self.type.to_js_hash,
    :configurationOptions => options.collect(&:to_js_hash)
  }
end