Class: XForge::RubyForge

Inherits:
Host
  • Object
show all
Defined in:
lib/xforge/rubyforge.rb

Instance Attribute Summary

Attributes inherited from Host

#name

Instance Method Summary collapse

Methods inherited from Host

#project

Constructor Details

#initializeRubyForge

Returns a new instance of RubyForge.



3
4
5
# File 'lib/xforge/rubyforge.rb', line 3

def initialize
  super('rubyforge.org')
end

Instance Method Details

#cvs_host_nameObject



15
16
17
# File 'lib/xforge/rubyforge.rb', line 15

def cvs_host_name
  name
end

#cvs_server_pathObject



11
12
13
# File 'lib/xforge/rubyforge.rb', line 11

def cvs_server_path
  "/var/cvs"
end

#home_page_regexpObject

Regexp used to find projects’ home page



41
42
43
44
# File 'lib/xforge/rubyforge.rb', line 41

def home_page_regexp
  # This seems a little volatile
  /<a href=\"(\w*:\/\/[^\"]*)\"><img src=\"\/themes\/osx\/images\/ic\/home/
end

#login_portObject



7
8
9
# File 'lib/xforge/rubyforge.rb', line 7

def 
  80
end

#scm_web(project) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/xforge/rubyforge.rb', line 19

def scm_web(project)
  view_cvs = "http://rubyforge.org/cgi-bin/viewcvs.cgi/"
  cvsroot = "?cvsroot=#{project.unix_name}"
  path_cvs_root = "\#{path}#{cvsroot}"
  path_cvs_root_rev = "#{path_cvs_root}&rev=\#{revision}"

  overview = "#{view_cvs}#{path_cvs_root}"
  raw      = "#{view_cvs}*checkout*/#{path_cvs_root_rev}"
  html     = "#{view_cvs}#{path_cvs_root_rev}&content-type=text/vnd.viewcvs-markup"
  diff     = "#{view_cvs}\#{path}.diff#{cvsroot}&r1=\#{previous_revision}&r2=\#{revision}"

  module_regexp = /href=\"(\w+)\/\?cvsroot=#{project.unix_name}/
  ::ScmWeb::ViewCvs.new(
    {"overview" => overview, "raw" => raw, "html" => html, "diff" => diff}, 
    cvs_host_name,
    cvs_server_path,
    project.unix_name,
    module_regexp
  )
end

#tracker(project) ⇒ Object



46
47
48
# File 'lib/xforge/rubyforge.rb', line 46

def tracker(project)
  Tracker::XForge::RubyForgeProject.new(project.group_id_uri("tracker"), project)
end