Sha256: d7d4b19c7d18591e167eda8e5209df023bede4466edb10cc813591b8a97de3ea
Contents?: true
Size: 1.91 KB
Versions: 1
Compression:
Stored size: 1.91 KB
Contents
namespace :build do desc 'Build use case markdown' task :use_cases do File.open('use_cases.md', 'w') do |use_case_file| use_case_file.puts(<<EOT # Use Cases EOT ) dir_path = File.dirname(__FILE__) use_case_file_paths = [] tbs_file_paths = [] Dir.chdir(dir_path) do use_case_dirs = { :include => %w/ reuse_text include_with_added_comments /, :resolve => %w/ / } use_case_dirs.each_pair do |section, dir_names| use_case_file.puts(<<EOT ## #{section.to_s.capitalize} EOT ) unless dir_names.empty? dir_names.each do |dir_name| ruby_file_path = File.join( dir_path, section.to_s, dir_name, "#{dir_name}.rb" ) if File.exist?(ruby_file_path) command = "ruby #{ruby_file_path}" system(command) end use_case_file_path = File.join( dir_path, section.to_s, dir_name, "#{dir_name}.md" ) if File.exist?(use_case_file_path) title_line = File.open(use_case_file_path).grep(/^#/).first.chomp title = title_line.split(/\s/, 2).pop use_case_file_name = File.basename(use_case_file_path) use_case_name = File.basename(use_case_file_path, '.md') use_case_anchor = use_case_name.gsub('_', '-') use_case_relative_url = File.join( section.to_s, dir_name, use_case_file_name + '#' + use_case_anchor, ) use_case_file.puts("* [#{title}](#{use_case_relative_url})") end end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
markdown_helper-1.8.0 | markdown/use_cases/Rakefile |