Class: RubyPatchesMerger::Revisions::Revision
- Inherits:
-
Object
- Object
- RubyPatchesMerger::Revisions::Revision
- Defined in:
- lib/ruby_patches_merger/revisions.rb
Defined Under Namespace
Classes: Link
Instance Method Summary collapse
- #content ⇒ Object
- #each_link(&block) ⇒ Object
- #hrefs ⇒ Object
-
#initialize(revision, base = 'http://svn.ruby-lang.org') ⇒ Revision
constructor
A new instance of Revision.
- #revision_url ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(revision, base = 'http://svn.ruby-lang.org') ⇒ Revision
Returns a new instance of Revision.
27 28 29 30 31 |
# File 'lib/ruby_patches_merger/revisions.rb', line 27 def initialize(revision, base = 'http://svn.ruby-lang.org') @revision = revision @revision = @revision[1..-1] if @revision.start_with?("r") @base = base end |
Instance Method Details
#content ⇒ Object
35 36 37 |
# File 'lib/ruby_patches_merger/revisions.rb', line 35 def content @content ||= Nokogiri::HTML(open(revision_url)) end |
#each_link(&block) ⇒ Object
41 42 43 |
# File 'lib/ruby_patches_merger/revisions.rb', line 41 def each_link(&block) hrefs.each{|href| block.call(Link.new(href, @base))} end |
#hrefs ⇒ Object
38 39 40 |
# File 'lib/ruby_patches_merger/revisions.rb', line 38 def hrefs content.css("a[title='View Diff']").map{|link| link["href"]} end |
#revision_url ⇒ Object
32 33 34 |
# File 'lib/ruby_patches_merger/revisions.rb', line 32 def revision_url "#{@base}/cgi-bin/viewvc.cgi?revision=#{@revision}&view=revision" end |
#to_s ⇒ Object
44 45 46 |
# File 'lib/ruby_patches_merger/revisions.rb', line 44 def to_s @revision end |