aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/man.rb
diff options
context:
space:
mode:
authorMartin Afanasjew2016-04-17 03:04:27 +0200
committerMartin Afanasjew2016-04-17 20:43:27 +0200
commitd8e427577dee6a179a99ef6be1278793cf726d8a (patch)
tree8f42014dc5f7be52d455ecdf6aa951a739c39e63 /Library/Homebrew/cmd/man.rb
parent291ff3cc4209f3b2db937b3dfe36c1779e1942c5 (diff)
downloadbrew-d8e427577dee6a179a99ef6be1278793cf726d8a.tar.bz2
man: pipe markup to 'ronn' to avoid temporary file
Diffstat (limited to 'Library/Homebrew/cmd/man.rb')
-rw-r--r--Library/Homebrew/cmd/man.rb21
1 files changed, 9 insertions, 12 deletions
diff --git a/Library/Homebrew/cmd/man.rb b/Library/Homebrew/cmd/man.rb
index 36c3f3ba7..112eff60d 100644
--- a/Library/Homebrew/cmd/man.rb
+++ b/Library/Homebrew/cmd/man.rb
@@ -32,7 +32,9 @@ module Homebrew
def regenerate_man_pages
Homebrew.install_gem_setup_path! "ronn"
- convert_man_page("brew.1", build_man_page)
+ markup = build_man_page
+ convert_man_page(markup, TARGET_DOC_PATH/"brew.1.html")
+ convert_man_page(markup, TARGET_MAN_PATH/"brew.1")
end
def build_man_page
@@ -54,26 +56,21 @@ module Homebrew
header + commands + footer
end
- def convert_man_page(page, contents)
- source = SOURCE_PATH/"#{page}.md"
- source.atomic_write(contents)
-
- convert_with_ronn(source, TARGET_DOC_PATH/"#{page}.html")
- convert_with_ronn(source, TARGET_MAN_PATH/page)
- end
-
- def convert_with_ronn(source, target)
+ def convert_man_page(markup, target)
shared_args = %W[
--pipe
--organization=Homebrew
--manual=brew
- #{source}
]
format_flag, format_desc = target_path_to_format(target)
puts "Writing #{format_desc} to #{target}"
- target.atomic_write Utils.popen_read("ronn", format_flag, *shared_args)
+ Utils.popen(["ronn", format_flag] + shared_args, "rb+") do |ronn|
+ ronn.write markup
+ ronn.close_write
+ target.atomic_write ronn.read
+ end
end
def target_path_to_format(target)