Class: Naf::MachineAffinitySlot

Inherits:
NafBase
  • Object
show all
Defined in:
app/models/naf/machine_affinity_slot.rb

Instance Method Summary collapse

Methods inherited from NafBase

full_table_name_prefix

Instance Method Details

#machine_server_addressObject


*** Instance Methods *** +++++++++++++++++++++++++



39
40
41
# File 'app/models/naf/machine_affinity_slot.rb', line 39

def machine_server_address
  machine.server_address
end

#machine_server_nameObject



43
44
45
# File 'app/models/naf/machine_affinity_slot.rb', line 43

def machine_server_name
  machine.server_name
end

#pickle(pickler, associations = nil, ignored_attributes = [:created_at, :updated_at]) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'app/models/naf/machine_affinity_slot.rb', line 47

def pickle(pickler, associations = nil, ignored_attributes = [:created_at, :updated_at])
  instance_attributes = attributes.symbolize_keys
  ignored_attributes.each do |ignored_attribute|
    instance_attributes.delete(ignored_attribute.to_sym)
  end

  unless associations
    associations = {}
    instance_attributes.keys.select{|key| key.to_s =~ /_id$/}.each do |key|
      association_name = key.to_s[0..-4].to_sym
      association = association(association_name) rescue nil
      if association
        associations[key] = association.options[:class_name].constantize.name
      end
    end
  end

  return Hash[instance_attributes.map { |key, value|
                if associations[key] == 'Naf::Affinity'
                  [key, { association_model_name: associations[key],
                          association_classification_value: affinity.affinity_classification_id,
                          association_affinity_value: affinity.affinity_name }]
                elsif associations[key] == 'Naf::Machine'
                  [key, { association_model_name: associations[key], association_value: value }]
                else
                  [key,value]
                end
              } ]
end