Class: XForge::RubyForge

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

Constant Summary collapse

VIEW_CVS =
"http://rubyforge.org/cgi-bin/viewcvs.cgi/"
CVSROOT =
"?cvsroot=\#{project_unix_name}"
PATH_CVSROOT =
"\#{path}#{CVSROOT}"
PATH_CVSROOT_REV =
"#{PATH_CVSROOT}&rev=\#{revision}"
OVERVIEW =
"#{VIEW_CVS}#{PATH_CVSROOT}"
RAW =
"#{VIEW_CVS}*checkout*/#{PATH_CVSROOT_REV}"
HTML =
"#{VIEW_CVS}#{PATH_CVSROOT_REV}&content-type=text/vnd.viewcvs-markup"
DIFF =
"#{VIEW_CVS}\#{path}.diff#{CVSROOT}&r1=\#{previous_revision}&r2=\#{revision}"

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.



13
14
15
# File 'lib/xforge/rubyforge.rb', line 13

def initialize
  super('rubyforge.org')
end

Instance Method Details

#cvs_host_nameObject



25
26
27
# File 'lib/xforge/rubyforge.rb', line 25

def cvs_host_name
  name
end

#cvs_server_pathObject



21
22
23
# File 'lib/xforge/rubyforge.rb', line 21

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



17
18
19
# File 'lib/xforge/rubyforge.rb', line 17

def 
  80
end

#scm_web(project) ⇒ Object



29
30
31
32
33
34
35
36
37
38
# File 'lib/xforge/rubyforge.rb', line 29

def scm_web(project)
  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::RubyForge.new(project.group_id_uri("tracker"), project)
end