#19 ひとまづ表示のみ
This commit is contained in:
@@ -1,11 +1,34 @@
|
||||
require 'gollum-lib'
|
||||
|
||||
|
||||
class WikiPage < ApplicationRecord
|
||||
WIKI_PATH = Rails.root.join('wiki').to_s
|
||||
|
||||
belongs_to :tag, optional: true
|
||||
belongs_to :created_user, class_name: 'User', foreign_key: 'created_user_id'
|
||||
belongs_to :updated_user, class_name: 'User', foreign_key: 'updated_user_id'
|
||||
|
||||
validates :title, presence: true, length: { maximum: 255 }, uniqueness: true
|
||||
|
||||
def gollum_path
|
||||
"wiki/#{ title.parameterize }.md"
|
||||
def markdown
|
||||
wiki = Gollum::Wiki.new(WIKI_PATH)
|
||||
page = wiki.page(title)
|
||||
page&.raw_data
|
||||
end
|
||||
|
||||
def markdown= content
|
||||
wiki = Gollum::Wiki.new(WIKI_PATH)
|
||||
|
||||
page = wiki.page(title)
|
||||
|
||||
commit_info = { message: "Update #{ title }",
|
||||
name: current_user.id,
|
||||
email: 'dummy@example.com' }
|
||||
|
||||
if page
|
||||
page.update(content, commit: commit_info)
|
||||
else
|
||||
wiki.write_page(title, :markdown, content, commit_info)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user