node default {
include b
}

class a {
file{"/tmp/dirs": content => template("/tmp/dirs.erb")}
}

class b {
$dirs = ["dummy"]
dir{["/tmp","/tmp/a","/tmp/b"]:}
include a
}

define dir() {
file {$name: ensure => directory }
$b::dirs += $name
}

-----
/tmp/dirs.erb:
<%= scope.lookupvar("b::dirs") %>