Class: XForge::SourceForge

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

Instance Attribute Summary

Attributes inherited from Host

#name

Instance Method Summary collapse

Methods inherited from Host

#project

Constructor Details

#initializeSourceForge

Returns a new instance of SourceForge.



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

def initialize
  super("sourceforge.net")
end

Instance Method Details

#cvs_host_nameObject



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

def cvs_host_name
  "cvs.sourceforge.net"
end

#cvs_server_pathObject



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

def cvs_server_path
  "/cvsroot"
end

#home_page_regexpObject

Regexp used to find projects’ home page



40
41
42
43
# File 'lib/xforge/sourceforge.rb', line 40

def home_page_regexp
  # This seems a little volatile
  /<A href=\"(\w*:\/\/[^\"]*)\">&nbsp;Project Home Page<\/A>/
end

#login_portObject



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

def 
  443
end

#scm_web(project) ⇒ Object



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

def scm_web(project)
  view_cvs = "http://cvs.sourceforge.net/viewcvs.py/"
  project_path = "#{project.unix_name}/\#{path}"
  rev = "rev=\#{revision}"

  overview = "#{view_cvs}#{project_path}"
  raw      = "#{view_cvs}*checkout*/#{project_path}?#{rev}"
  html     = "#{overview}?#{rev}&view=markup"
  diff     = "#{overview}?r1=\#{previous_revision}&r2=\#{revision}"

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