class Coppy::Steps::InFiles
Public Class Methods
new(*file_patterns, &block)
click to toggle source
# File lib/coppy/steps/in_files.rb, line 15 def initialize(*file_patterns, &block) @patterns = file_patterns @manifesto = Manifesto.load(self.class.dsl, &block) end
Public Instance Methods
call(env)
click to toggle source
# File lib/coppy/steps/in_files.rb, line 20 def call(env) files = @patterns.flat_map { |pattern| Dir.glob(File.join env.target, pattern) } files.each do |file_path| file = File.read(file_path) local_env = env.subenv( file: file ) @manifesto.execute!(local_env) File.open(file_path, 'w') { |f| f.write local_env.file } end end