Class: Redmine::Scm::Adapters::AbstractAdapter
- Inherits:
-
Object
- Object
- Redmine::Scm::Adapters::AbstractAdapter
show all
- Defined in:
- lib/redmine/scm/adapters/abstract_adapter.rb
Overview
Class Method Summary
(collapse)
Instance Method Summary
(collapse)
-
- (Object) adapter_name
-
- (Object) cat(path, identifier = nil)
-
- (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) 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, options={})
((client_version <=> v) >= 0) || (client_version.empty? && options[: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) cat(path, identifier = nil)
116
117
118
|
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 116
def cat(path, identifier=nil)
return nil
end
|
- (Object) diff(path, identifier_from, identifier_to = nil)
112
113
114
|
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 112
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?
Entry.new(:path => '', :kind => 'dir')
else
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)
104
105
106
|
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 104
def properties(path, identifier=nil)
return nil
end
|
- (Object) revisions(path = nil, identifier_from = nil, identifier_to = nil, options = {})
108
109
110
|
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 108
def revisions(path=nil, identifier_from=nil, identifier_to=nil, options={})
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)
140
141
142
143
144
145
146
|
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 140
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) url
73
74
75
|
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 73
def url
@url
end
|
- (Object) with_leading_slash(path)
120
121
122
123
|
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 120
def with_leading_slash(path)
path ||= ''
(path[0,1]!="/") ? "/#{path}" : path
end
|
- (Object) with_trailling_slash(path)
125
126
127
128
|
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 125
def with_trailling_slash(path)
path ||= ''
(path[-1,1] == "/") ? path : "#{path}/"
end
|
- (Object) without_leading_slash(path)
130
131
132
133
|
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 130
def without_leading_slash(path)
path ||= ''
path.gsub(%r{^/+}, '')
end
|
- (Object) without_trailling_slash(path)
135
136
137
138
|
# File 'lib/redmine/scm/adapters/abstract_adapter.rb', line 135
def without_trailling_slash(path)
path ||= ''
(path[-1,1] == "/") ? path[0..-2] : path
end
|