Module: DejaVuNS::RecordAsChild
- Included in:
- Recording
- Defined in:
- lib/deja-vu/model/generated_model/DejaVuNS.rb
Instance Method Summary collapse
- #add_record(record) ⇒ Object
- #ensure_record(index) {|record| ... } ⇒ Object
- #init_record_as_child ⇒ Object
- #new_record(index) {|record| ... } ⇒ Object
- #record_child ⇒ Object (also: #record)
- #record_child=(v) ⇒ Object (also: #record=)
- #remove_record(index) ⇒ Object
Instance Method Details
#add_record(record) ⇒ Object
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 183 def add_record(record) accessed index = record.get_the_index if(nil == index) then raise Xampl::XamplException.new("no value for the index 'pid' of record defined in : " << record.pp_xml) end existing = @record_child[index] return existing if existing == record self.remove_record(index) if existing @children << record @record_child[index] = record record.add_parent(self) changed return record end |
#ensure_record(index) {|record| ... } ⇒ Object
216 217 218 219 220 221 222 223 224 225 226 227 |
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 216 def ensure_record(index) accessed record = @record_child[index] return record if record record = Record.lookup(index) if Xampl.persister and Xampl.persister.automatic record = Record.new(index) unless record yield(record) if block_given? return add_record(record) end |
#init_record_as_child ⇒ Object
179 180 181 |
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 179 def init_record_as_child @record_child = IndexedArray.new end |
#new_record(index) {|record| ... } ⇒ Object
205 206 207 208 209 210 211 212 213 214 |
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 205 def new_record(index) accessed record = nil record = Record.lookup(index) if Xampl.persister and Xampl.persister.automatic record = Record.new(index) unless record yield(record) if block_given? return add_record(record) end |
#record_child ⇒ Object Also known as: record
166 167 168 169 |
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 166 def record_child accessed @record_child end |
#record_child=(v) ⇒ Object Also known as: record=
171 172 173 174 |
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 171 def record_child=(v) accessed @record_child = v end |
#remove_record(index) ⇒ Object
229 230 231 232 233 234 235 236 237 |
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 229 def remove_record(index) accessed changed unless String === index or Symbol === index then index = index.get_the_index end record = @record_child.delete(index) if index @children.delete(record) end |