Support for ifroute

bnc#897394, bnc#866250
I think @!attribute should not be necessary, since `attr_reader` is a core Ruby feature. This meta directive is needed when we do non-standard metaprogramming.