Passing options to template function in thor

Viewed 3322

I am looking for a way to pass options to the ERB templating engine in thors template action.

I stumbled upon the bundler cli source where thors template action is being used like this:

opts = {:name => name, 
    :constant_name => constant_name, 
    :constant_array => constant_array, 
    :author_name => author_name, 
    :author_email => author_email
}

template(File.join("newgem/Gemfile.tt"),
           File.join(target, "Gemfile"),
            opts)

But when I add options like this in my thor tasks they are not found by ERB, i can only use arguments and functions in my thor class to set variables in the template.

I have no clue how binding works in ruby, maybe there is a way to pass a scope through binding to ERB.

2 Answers
Related