Class: RubyPatchesMerger::Revisions::Revision

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_patches_merger/revisions.rb

Defined Under Namespace

Classes: Link

Instance Method Summary collapse

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

#contentObject



35
36
37
# File 'lib/ruby_patches_merger/revisions.rb', line 35

def content
  @content ||= Nokogiri::HTML(open(revision_url))
end


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

#hrefsObject



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_urlObject



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_sObject



44
45
46
# File 'lib/ruby_patches_merger/revisions.rb', line 44

def to_s
  @revision
end