one_gadget/tasks
david942j 8f21ed1922
Add constraint for XMM alignment (#87)
* Add constraint for XMM alignment

* re-generate the database

* fix codeclimate issue
2019-06-25 00:42:31 +08:00
..
builds Add constraint for XMM alignment (#87) 2019-06-25 00:42:31 +08:00
readme.rake Target Ruby version 2.3 (#80) 2019-05-04 15:57:57 +08:00

readme.rake

# frozen_string_literal: true

desc 'To auto generate README.md from README.tpl'
task :readme do
  next if ENV['CI']

  @tpl = IO.binread('README.tpl.md')

  def replace(prefix)
    @tpl.gsub!(/#{prefix}\(.*\)/) do |s|
      yield(s[(prefix.size + 1)...-1])
    end
  end

  replace('SHELL_OUTPUT_OF') do |cmd|
    '$ ' + cmd + "\n" + `#{cmd}`.lines.map do |c|
      next "#\n" if c.strip.empty?

      '# ' + c
    end.join
  end

  require 'one_gadget'
  replace('RUBY_OUTPUT_OF') do |cmd|
    res = instance_eval(cmd)
    cmd + "\n" + '#=> ' + res.inspect + "\n"
  end

  IO.binwrite('README.md', @tpl)
end