Method: Thor::Actions#apply
- Defined in:
- lib/thor/actions.rb
permalink #apply(path, config = {}) ⇒ Object
Loads an external file and execute it in the instance binding.
Parameters
- path<String>
-
The path to the file to execute. Can be a web address or a relative path from the source root.
Examples
apply "http://gist.github.com/103208"
apply "recipes/jquery.rb"
216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
# File 'lib/thor/actions.rb', line 216 def apply(path, config = {}) verbose = config.fetch(:verbose, true) is_uri = path =~ %r{^https?\://} path = find_in_source_paths(path) unless is_uri say_status :apply, path, verbose shell.padding += 1 if verbose contents = if is_uri require "open-uri" URI.open(path, "Accept" => "application/x-thor-template", &:read) else File.open(path, &:read) end instance_eval(contents, path) shell.padding -= 1 if verbose end |