Class: Cauldron::NumberAdditionTemplate::Template
Class Method Summary
collapse
extend_actualized_composite
Class Method Details
.context_instances(contexts) ⇒ Object
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/cauldron/number_addition_template/template.rb', line 41
def self.context_instances(contexts)
temp = []
contexts.each do |context|
temp << context.keys.collect(&:to_s).select {|x| x.match(/var\d/) }
end
results = temp.flatten.uniq
variable_numbers = results.collect { |x| x.match(/var(\d+)/)[1] }
variable_numbers.collect { |x| Cauldron::NumberAdditionTemplate::AddFive.new([x.to_i])}
end
|
.instances(histories, composite, examples, insert_points) ⇒ Object
7
8
9
10
11
12
13
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
|
# File 'lib/cauldron/number_addition_template/template.rb', line 7
def self.instances(histories, composite, examples, insert_points)
unless examples.class == ExampleSet
raise StandardError.new('Examples should be an example')
end
scope = examples.scope
results = []
insert_points.each do |point|
contexts = histories.contexts_at(point)
composites = context_instances(contexts)
composites.each do |x|
if contexts.all? { |context| x.context_realizable?(context) }
results << extend_actualized_composite(x, composite, examples, point)
end
end
end
results
end
|