def call(release, options = {})
      @options.update(options)
      files = release.get_files(@options[:into])

      files.each do |f|
        c = File.read(f)
        injected_vars = []
        @variables.each do |variable, injection|
          if c.gsub!(variable, get_content(injection, release))
            injected_vars << variable
          end
        end
        unless injected_vars.empty?
          release.log(self, "Injected variables #{injected_vars.inspect} into #{f}")
        end
        File.open(f, "w") { |fh| fh.write c }
      end
    end
def call(release, options = {})
      @options.update(options)
      files = release.get_files(@options[:into])

      files.each do |f|
        c = File.read(f)
        injected_vars = []
        @variables.each do |variable, injection|
          if c.gsub!(variable, get_content(injection, release))
            injected_vars << variable
          end
        end
        unless injected_vars.empty?
          release.log(self, "Injected variables #{injected_vars.inspect} into #{f}")
        end
        File.open(f, "w") { |fh| fh.write c }
      end
    end
@example Simple variable injection (replaces [VARIABLE] into all .css files)
     {"[VARIABLE]" => "replacement"}, :into => %w{**/*.css}

 @example Regex variable injection (replaces all matches into test.js files)
     {/\/\*\s*\[BANNER\]\s*\*\// => "replacement"}, :into => %w{javacripts/test.js}

 @example Simple variable injection with filtering (replaces [VARIABLE] with :content
   run through the markdown processor into all .html files)

     {"[VARIABLE]" => {content: "# header one", processor: "md"}, :into => %w{**/*.html}

 @example Full file injection (replaces all matches of [CHANGELOG] with the contents
   of "CHANGELOG.md" into _doc/changelog.html)

     {"CHANGELOG" => {file: "CHANGELOG.md"}}, :into => %w{_doc/changelog.html}

 @example Full file injection with filtering (replaces all matches of [CHANGELOG]
   with the contents of "CHANGELOG" which ran through Markdown compresser
   into _doc/changelog.html)

     {"CHANGELOG" => {file: "CHANGELOG", processor: "md"}}, :into => %w{_doc/changelog.html}

 Processors are based on Tilt (https://github.com/rtomayko/tilt).
 Currently supported/tested processors are:

 * 'md' for Markdown (bluecloth)

 Injection files are relative to the :source_path

 @param [Hash] variables Variables to inject. See example for more info
 @option options [Array] :into An array of file globs relative to the build_path