diff --git a/lib/gollum.rb b/lib/gollum.rb index c157356c..aa67944d 100644 --- a/lib/gollum.rb +++ b/lib/gollum.rb @@ -5,6 +5,7 @@ require 'github/markup' # internal require 'gollum/wiki' require 'gollum/page' +require 'gollum/version' module Gollum VERSION = '0.0.1' diff --git a/lib/gollum/page.rb b/lib/gollum/page.rb index 330e19f5..4cdeab15 100644 --- a/lib/gollum/page.rb +++ b/lib/gollum/page.rb @@ -2,7 +2,7 @@ module Gollum class Page VALID_PAGE_RE = /^(.+)\.(md|mkdn?|mdown|markdown|textile|rdoc|org|re?st(\.txt)?|asciidoc|pod|\d)$/i - attr_accessor :wiki, :blob + attr_accessor :wiki, :blob, :version # Initialize a page. # @@ -79,7 +79,12 @@ module Gollum # Returns a Gollum::Page or nil if the page could not be found. def find(name) commit = self.wiki.repo.commits.first - find_page_in_tree(commit.tree, name) + if page = find_page_in_tree(commit.tree, name) + page.version = Version.new(commit) + page + else + nil + end end # private diff --git a/test/test_page.rb b/test/test_page.rb index 001bd835..cf547b59 100644 --- a/test/test_page.rb +++ b/test/test_page.rb @@ -17,6 +17,7 @@ context "Page" do assert page.raw_data =~ /^# Bilbo Baggins\n\nBilbo Baggins/ assert page.formatted_data =~ /
Bilbo Baggins/ assert_equal :markdown, page.format + assert_equal 'df26e61e707116f81ebc6b935ec6d1676b7e96c4', page.version.id end test "no page match" do