Module: DejaVuNS::DejaVuAsChild

Defined in:
lib/deja-vu/model/generated_model/DejaVuNS.rb

Instance Method Summary collapse

Instance Method Details

#add_deja_vu(deja_vu) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 29

def add_deja_vu(deja_vu)
  accessed
  index = deja_vu.get_the_index
  if(nil == index) then
    raise Xampl::XamplException.new("no value for the index 'pid' of deja_vu defined in : " << deja_vu.pp_xml)
  end

  existing = @deja_vu_child[index]

  return existing if existing == deja_vu

      self.remove_deja_vu(index) if existing

  @children << deja_vu
  @deja_vu_child[index] = deja_vu

  deja_vu.add_parent(self)

  changed
  return deja_vu
end

#deja_vu_childObject Also known as: deja_vu



12
13
14
15
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 12

def deja_vu_child
  accessed
  @deja_vu_child
end

#deja_vu_child=(v) ⇒ Object Also known as: deja_vu=



17
18
19
20
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 17

def deja_vu_child=(v)
  accessed
  @deja_vu_child = v
end

#ensure_deja_vu(index) {|deja_vu| ... } ⇒ Object

Yields:



62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 62

def ensure_deja_vu(index)
    accessed

    deja_vu = @deja_vu_child[index]
  return deja_vu if deja_vu 

    deja_vu = DejaVu.lookup(index) if Xampl.persister and Xampl.persister.automatic
    deja_vu = DejaVu.new(index) unless deja_vu

    yield(deja_vu) if block_given?
    return add_deja_vu(deja_vu)
end

#init_deja_vu_as_childObject



25
26
27
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 25

def init_deja_vu_as_child
  @deja_vu_child = IndexedArray.new
end

#new_deja_vu(index) {|deja_vu| ... } ⇒ Object

Yields:



51
52
53
54
55
56
57
58
59
60
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 51

def new_deja_vu(index)
  accessed

  deja_vu = nil
  deja_vu = DejaVu.lookup(index) if Xampl.persister and Xampl.persister.automatic
  deja_vu = DejaVu.new(index) unless deja_vu

  yield(deja_vu) if block_given?
  return add_deja_vu(deja_vu)
end

#remove_deja_vu(index) ⇒ Object



75
76
77
78
79
80
81
82
83
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 75

def remove_deja_vu(index)
  accessed
      changed
 unless String === index or Symbol === index then
    index = index.get_the_index
      end
  deja_vu = @deja_vu_child.delete(index) if index
  @children.delete(deja_vu)
end