$ puppet apply -e '$foo = "foovar"
class foo { $var = "in the class" }
include foo
notice "foo is ${::foo}"'
Scope(Class[main]): foo is foovar
This appears to be broken, even in master (3.0.1-271-g5ca331f)
$ puppet apply -e '
class foo { $var = "in the class" }
node default {
$foo = "foovar"
include foo
notice "foo is ${::foo}"
}'
Scope(Node[default]): foo is