Add dir support to write_page

This commit is contained in:
bootstraponline
2012-11-16 16:43:43 -07:00
parent 3d21ed362e
commit 578386f083
2 changed files with 6 additions and 7 deletions
+2 -4
View File
@@ -196,12 +196,10 @@ module Precious
page_dir = settings.wiki_options[:page_file_dir].to_s
path = clean_url(::File.join(page_dir, path)) unless path.start_with?(page_dir)
# write_page is not directory aware so use wiki_options to emulate dir support.
wiki_options = settings.wiki_options.merge({ :page_file_dir => path })
wiki = Gollum::Wiki.new(settings.gollum_path, wiki_options)
wiki = wiki_new
begin
wiki.write_page(name, format, params[:content], commit_message)
wiki.write_page(name, format, params[:content], commit_message, path)
redirect to("/#{clean_url(::File.join(path,name))}")
rescue Gollum::DuplicatePageError => e
@message = "Duplicate page: #{e.message}"
+4 -3
View File
@@ -282,10 +282,11 @@ module Gollum
# :committer - Optional Gollum::Committer instance. If provided,
# assume that this operation is part of batch of
# updates and the commit happens later.
#
# dir - The String subdirectory of the Gollum::Page without any
# prefix or suffix slashes (e.g. "foo/bar").
# Returns the String SHA1 of the newly written version, or the
# Gollum::Committer instance if this is part of a batch update.
def write_page(name, format, data, commit = {})
def write_page(name, format, data, commit = {}, dir = '')
multi_commit = false
committer = if obj = commit[:committer]
@@ -297,7 +298,7 @@ module Gollum
filename = Gollum::Page.cname(name)
committer.add_to_index('', filename, format, data)
committer.add_to_index(dir, filename, format, data)
committer.after_commit do |index, sha|
@access.refresh