From 61076b38b4455becca31f95fa0dab2c466853090 Mon Sep 17 00:00:00 2001 From: Tom Preston-Werner Date: Sun, 11 Apr 2010 12:17:32 -0600 Subject: [PATCH] implement Page#versions --- README.md | 4 ++-- lib/gollum/page.rb | 9 +++++++++ test/test_page.rb | 6 ++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index eca3682d..879c3ede 100644 --- a/README.md +++ b/README.md @@ -250,9 +250,9 @@ Get the latest version of the given human or canonical page name: vsn.id # => '3ca43e12377ea1e32ea5c9ce5992ec8bf266e3e5' -Get a list of versions for a given canonical page name: +Get a list of versions for a given page: - vsns = gollum.page_versions('page-name') + vsns = gollum.page('page-name').versions # => [] vsns.first.id diff --git a/lib/gollum/page.rb b/lib/gollum/page.rb index f92f2207..0d54f5df 100644 --- a/lib/gollum/page.rb +++ b/lib/gollum/page.rb @@ -74,6 +74,15 @@ module Gollum end end + # All of the versions that have touched this Page. + # + # Returns an Array of Gollum::Version. + def versions + @wiki.repo.log('master', self.path).map do |v| + Version.new(v) + end + end + # Find a page in the given Gollum repo. # # name - The human or canonical String page name to find. diff --git a/test/test_page.rb b/test/test_page.rb index 7e09b688..f7c83502 100644 --- a/test/test_page.rb +++ b/test/test_page.rb @@ -26,6 +26,12 @@ context "Page" do assert_equal 'Mordor/Eye-Of-Sauron.md', page.path end + test "page versions" do + page = @wiki.page('Bilbo Baggins') + assert_equal ['5bc1aaec6149e854078f1d0f8b71933bbc6c2e43'], + page.versions.map { |v| v.id } + end + test "no page match" do assert_nil @wiki.page('I do not exist') end