Class: ADSL::DS::DSNode

Inherits:
Object show all
Defined in:
lib/adsl/ds/data_store_spec.rb,
lib/adsl/spass/spass_ds_extensions.rb

Instance Method Summary collapse

Instance Method Details

#list_entity_classes_readObject



10
11
12
# File 'lib/adsl/ds/data_store_spec.rb', line 10

def list_entity_classes_read
  recursively_gather :entity_class_reads
end

#list_entity_classes_written_toObject



6
7
8
# File 'lib/adsl/ds/data_store_spec.rb', line 6

def list_entity_classes_written_to
  recursively_gather :entity_class_writes
end

#replace(what, with) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/adsl/ds/data_store_spec.rb', line 14

def replace(what, with)
  to_inspect = [self]
  inspected = Set.new
  replaced = false
  while not to_inspect.empty?
    elem = to_inspect.pop
    if elem.kind_of? Array
      elem.length.times do |i|
        if elem[i] == what
          elem[i] = with
          replaced = true
        else
          to_inspect << elem[i] unless inspected.include? elem[i]
        end
        inspected << elem[i]
      end
    elsif elem.class.methods.include? 'container_for_fields' or elem.class.methods.include? :container_for_fields
      elem.class.container_for_fields.each do |field_name|
        field_val = elem.send field_name
        if field_val == what
          elem.send "#{field_name}=", with
          replaced = true
        elsif field_val.kind_of?(Array) or field_val.class.methods.include?('container_for_fields')
          to_inspect << field_val unless inspected.include? field_val
        end
        inspected << field_val
      end
    end
  end
  replaced
end

#replace_var(from, to) ⇒ Object



7
# File 'lib/adsl/spass/spass_ds_extensions.rb', line 7

def replace_var(from, to); end