app/models/page_set.rb in Pimki-1.3.092 vs app/models/page_set.rb in Pimki-1.4.092
- old
+ new
@@ -1,73 +1,73 @@
-# Container for a set of pages with methods for manipulation.
-class PageSet < Array
- attr_reader :web
-
- def initialize(web, pages, accept_proc)
- @web = web
- if accept_proc.nil? then
- super(pages)
- else
- super(pages.select { |page| accept_proc[page] })
- end
- end
-
- def most_recent_revision
- self.sort_by { |page| [page.created_at] }.reverse.first.created_at
- end
-
- def by_name
- self.sort_by { |page| [page.name] }
- end
-
- def by_revision
- self.sort_by { |page| [page.created_at] }.reverse
- end
-
- def by_last_visited #{{{
- self.sort_by { |page| [page.last_visited] }.reverse
- end #}}}
-
- def by_most_viewed #{{{
- self.sort_by { |page| [page.viewed] }.reverse
- end #}}}
-
-
- def pages_that_reference(page_name)
- self.select { |page| page.wiki_words.include?(page_name) }
- end
-
- def pages_authored_by(author)
- self.select { |page| page.authors.include?(author) }
- end
-
- def characters
- self.inject(0) { |chars,page| chars += page.content.size }
- end
-
- # Returns all the orphaned pages in this page set. That is,
- # pages in this set for which there is no reference in the web.
- # The HomePage and author pages are always assumed to have
- # references and so cannot be orphans
- def orphaned_pages
- references = web.select.wiki_words + ["HomePage"] + web.select.authors
- self.reject { |page| references.include?(page.name) }
- end
-
- # Returns all the wiki words in this page set for which
- # there are no pages in this page set's web
- def wanted_pages
- wiki_words - web.select.names
- end
-
- def names
- self.map { |page| page.name }
- end
-
- def wiki_words
- self.inject([]) { |wiki_words, page| wiki_words << page.wiki_words }.flatten.uniq
- end
-
- def authors
- self.inject([]) { |authors, page| authors << page.authors }.flatten.uniq.sort
- end
+# Container for a set of pages with methods for manipulation.
+class PageSet < Array
+ attr_reader :web
+
+ def initialize(web, pages, accept_proc)
+ @web = web
+ if accept_proc.nil? then
+ super(pages)
+ else
+ super(pages.select { |page| accept_proc[page] })
+ end
+ end
+
+ def most_recent_revision
+ self.sort_by { |page| [page.created_at] }.reverse.first.created_at
+ end
+
+ def by_name
+ self.sort_by { |page| [page.name] }
+ end
+
+ def by_revision
+ self.sort_by { |page| [page.created_at] }.reverse
+ end
+
+ def by_last_visited #{{{
+ self.sort_by { |page| [page.last_visited] }.reverse
+ end #}}}
+
+ def by_most_viewed #{{{
+ self.sort_by { |page| [page.viewed] }.reverse
+ end #}}}
+
+
+ def pages_that_reference(page_name)
+ self.select { |page| page.wiki_words.include?(page_name) }
+ end
+
+ def pages_authored_by(author)
+ self.select { |page| page.authors.include?(author) }
+ end
+
+ def characters
+ self.inject(0) { |chars,page| chars += page.content.size }
+ end
+
+ # Returns all the orphaned pages in this page set. That is,
+ # pages in this set for which there is no reference in the web.
+ # The HomePage and author pages are always assumed to have
+ # references and so cannot be orphans
+ def orphaned_pages
+ references = web.select.wiki_words + ["HomePage"] + web.select.authors
+ self.reject { |page| references.include?(page.name) }
+ end
+
+ # Returns all the wiki words in this page set for which
+ # there are no pages in this page set's web
+ def wanted_pages
+ wiki_words - web.select.names
+ end
+
+ def names
+ self.map { |page| page.name }
+ end
+
+ def wiki_words
+ self.inject([]) { |wiki_words, page| wiki_words << page.wiki_words }.flatten.uniq
+ end
+
+ def authors
+ self.inject([]) { |authors, page| authors << page.authors }.flatten.uniq.sort
+ end
end
\ No newline at end of file