summaryrefslogtreecommitdiffstats
path: root/lib/evendoors/particle.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/evendoors/particle.rb')
-rw-r--r--lib/evendoors/particle.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/evendoors/particle.rb b/lib/evendoors/particle.rb
index ac9ee3b..161c164 100644
--- a/lib/evendoors/particle.rb
+++ b/lib/evendoors/particle.rb
@@ -43,11 +43,13 @@ module EvenDoors
@door = o['door']
@action = o['action']
@payload = o['payload']||{}
- @src = EvenDoors::Spin.spin.search_down o['src'] if o['src']
- @dst = EvenDoors::Spin.spin.search_down o['dst'] if o['dst']
+ @src = o['parent'].spin.search_down o['src'] if o['src']
+ @dst = o['parent'].spin.search_down o['dst'] if o['dst']
o['dsts'].each do |dst| add_dsts dst end if o['dsts']
set_link_fields *o['link_fields'] if o['link_fields']
- o['merged'].each do |merged| merge! Particle.json_create(merged) end if o['merged']
+ o['merged'].each do |particle|
+ merge! Particle.json_create(particle.merge!('parent'=>o['parent']))
+ end if o['merged']
end
end
#