Class: Redmine::Scm::Adapters::AbstractAdapter
- Inherits:
-
Object
- Object
- Redmine::Scm::Adapters::AbstractAdapter
- Defined in:
- lib/redmine/scm/adapters/abstract_adapter.rb
Overview
:nodoc:
Direct Known Subclasses
BazaarAdapter, CvsAdapter, DarcsAdapter, FilesystemAdapter, GitAdapter, MercurialAdapter, SubversionAdapter
Class Method Summary
-
+ (Object) client_version
Returns the version of the scm client Eg: [1, 5, 0] or [] if unknown.
-
+ (Boolean) client_version_above?(v, options = {})
Returns true if the current client version is above or equals the given one If option is :unknown is set to true, it will return true if the client version is unknown.
-
+ (Object) client_version_string
Returns the version string of the scm client Eg: ‘1.5.0’ or ‘Unknown version’ if unknown.
Instance Method Summary
- - (Object) adapter_name
- - (Object) branches
- - (Object) cat(path, identifier = nil)
- - (Object) default_branch
- - (Object) diff(path, identifier_from, identifier_to = nil)
-
- (Object) entries(path = nil, identifier = nil)
Returns an Entries collection or nil if the given path doesn’t exist in the repository.
-
- (Object) entry(path = nil, identifier = nil)
Returns the entry identified by path and revision identifier or nil if entry doesn’t exist in the repository.
-
- (Object) info
get info about the svn repository.
-
- (AbstractAdapter) initialize(url, root_url = nil, login = nil, password = nil)
constructor
A new instance of AbstractAdapter.
- - (Object) properties(path, identifier = nil)
- - (Object) revisions(path = nil, identifier_from = nil, identifier_to = nil, options = {})
- - (Object) root_url
- - (Object) shell_quote(str)
- - (Boolean) supports_annotate?
- - (Boolean) supports_cat?
- - (Object) tags
- - (Object) url
- - (Object) with_leading_slash(path)
- - (Object) with_trailling_slash(path)
- - (Object) without_leading_slash(path)
- - (Object) without_trailling_slash(path)
Constructor Details
- (AbstractAdapter) initialize(url, root_url = nil, login = nil, password = nil)
A new instance of AbstractAdapter
50 51 52 53 54 55 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 50 def initialize(url, root_url=nil, login=nil, password=nil) @url = url @login = login if login && !login.empty? @password = (password || "") if @login @root_url = root_url.blank? ? retrieve_root_url : root_url end |
Class Method Details
+ (Object) client_version
Returns the version of the scm client Eg: [1, 5, 0] or [] if unknown
30 31 32 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 30 def client_version [] end |
+ (Boolean) client_version_above?(v, options = {})
Returns true if the current client version is above or equals the given one If option is :unknown is set to true, it will return true if the client version is unknown
45 46 47 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 45 def client_version_above?(v, ={}) ((client_version <=> v) >= 0) || (client_version.empty? && [:unknown]) end |
+ (Object) client_version_string
Returns the version string of the scm client Eg: ‘1.5.0’ or ‘Unknown version’ if unknown
36 37 38 39 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 36 def client_version_string v = client_version || 'Unknown version' v.is_a?(Array) ? v.join('.') : v.to_s end |
Instance Method Details
- (Object) adapter_name
57 58 59 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 57 def adapter_name 'Abstract' end |
- (Object) branches
104 105 106 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 104 def branches return nil end |
- (Object) cat(path, identifier = nil)
128 129 130 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 128 def cat(path, identifier=nil) return nil end |
- (Object) default_branch
112 113 114 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 112 def default_branch return nil end |
- (Object) diff(path, identifier_from, identifier_to = nil)
124 125 126 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 124 def diff(path, identifier_from, identifier_to=nil) return nil end |
- (Object) entries(path = nil, identifier = nil)
Returns an Entries collection or nil if the given path doesn’t exist in the repository
100 101 102 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 100 def entries(path=nil, identifier=nil) return nil end |
- (Object) entry(path = nil, identifier = nil)
Returns the entry identified by path and revision identifier or nil if entry doesn’t exist in the repository
84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 84 def entry(path=nil, identifier=nil) parts = path.to_s.split(%r{[\/\\]}).select {|n| !n.blank?} search_path = parts[0..-2].join('/') search_name = parts[-1] if search_path.blank? && search_name.blank? # Root entry Entry.new(:path => '', :kind => 'dir') else # Search for the entry in the parent directory es = entries(search_path, identifier) es ? es.detect {|e| e.name == search_name} : nil end end |
- (Object) info
get info about the svn repository
78 79 80 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 78 def info return nil end |
- (Object) properties(path, identifier = nil)
116 117 118 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 116 def properties(path, identifier=nil) return nil end |
- (Object) revisions(path = nil, identifier_from = nil, identifier_to = nil, options = {})
120 121 122 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 120 def revisions(path=nil, identifier_from=nil, identifier_to=nil, ={}) return nil end |
- (Object) root_url
69 70 71 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 69 def root_url @root_url end |
- (Object) shell_quote(str)
152 153 154 155 156 157 158 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 152 def shell_quote(str) if Redmine::Platform.mswin? '"' + str.gsub(/"/, '\\"') + '"' else "'" + str.gsub(/'/, "'\"'\"'") + "'" end end |
- (Boolean) supports_annotate?
65 66 67 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 65 def supports_annotate? respond_to?('annotate') end |
- (Boolean) supports_cat?
61 62 63 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 61 def supports_cat? true end |
- (Object) tags
108 109 110 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 108 def return nil end |
- (Object) url
73 74 75 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 73 def url @url end |
- (Object) with_leading_slash(path)
132 133 134 135 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 132 def with_leading_slash(path) path ||= '' (path[0,1]!="/") ? "/#{path}" : path end |
- (Object) with_trailling_slash(path)
137 138 139 140 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 137 def with_trailling_slash(path) path ||= '' (path[-1,1] == "/") ? path : "#{path}/" end |
- (Object) without_leading_slash(path)
142 143 144 145 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 142 def without_leading_slash(path) path ||= '' path.gsub(%r{^/+}, '') end |
- (Object) without_trailling_slash(path)
147 148 149 150 |
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 147 def without_trailling_slash(path) path ||= '' (path[-1,1] == "/") ? path[0..-2] : path end |