Module: Ditto::Map

Defined in:
lib/ditto/map.rb

Class Method Summary collapse

Class Method Details

.add(name, opts, &block) ⇒ Object



10
11
12
# File 'lib/ditto/map.rb', line 10

def self.add name, opts, &block
  @maps[name] = block
end

.add_all(seq, data) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/ditto/map.rb', line 25

def self.add_all seq, data
  ninst = 0
  seq.each do |entity|
	instances = data[entity]
	instances.each do |ihash|
	  puts "adding #{entity} #{ihash.inspect}" if Ditto::Options.instance.verbose > 1
	  instance = OpenStruct.new ihash
	  @maps[entity].call instance
	  ninst += 1
	end
  end
  return ninst
end

.check_maps(seq, definitions) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/ditto/map.rb', line 14

def self.check_maps seq, definitions
  nerr = 0
  seq.each do |entity|
	unless @maps.has_key? entity
	  nerr += 1
	  Ditto::Entity.error("no mapping", entity, definitions[entity])
	end
  end
  return nerr
end