Class: GitReflow::GitServer::Base

Inherits:
Object
  • Object
show all
Extended by:
GitReflow::GitHelpers
Defined in:
lib/git_reflow/git_server/base.rb

Direct Known Subclasses

BitBucket, GitHub

Constant Summary collapse

@@connection =
nil

Constants included from Sandbox

Sandbox::COLOR_FOR_LABEL

Class Method Summary collapse

Instance Method Summary collapse

Methods included from GitReflow::GitHelpers

append_to_merge_commit_message, current_branch, default_base_branch, default_editor, fetch_destination, get_first_commit_message, git_editor_command, git_root_dir, merge_commit_template, merge_message_path, pull_request_template, push_current_branch, remote_repo_name, remote_user, update_current_branch, update_destination, update_feature_branch

Methods included from Sandbox

#run, #run_command_with_label, #say

Constructor Details

#initialize(options) ⇒ Base

Returns a new instance of Base.



9
10
11
12
13
14
15
16
17
# File 'lib/git_reflow/git_server/base.rb', line 9

def initialize(options)
  site_url     = self.class.site_url
  api_endpoint = self.class.api_endpoint

  self.class.site_url     = site_url
  self.class.api_endpoint = api_endpoint

  authenticate
end

Class Method Details

.api_endpointObject



27
28
29
# File 'lib/git_reflow/git_server/base.rb', line 27

def self.api_endpoint
  raise "#{self.class.to_s}.api_endpoint method must be implemented"
end

.api_endpoint=(api_endpoint, options = {local: false}) ⇒ Object



31
32
33
# File 'lib/git_reflow/git_server/base.rb', line 31

def self.api_endpoint=(api_endpoint, options = {local: false})
  raise "#{self.class.to_s}.api_endpoint= method must be implemented"
end

.connectionObject



19
20
21
# File 'lib/git_reflow/git_server/base.rb', line 19

def self.connection
  raise "#{self.class.to_s}.connection method must be implemented"
end

.project_only?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/git_reflow/git_server/base.rb', line 43

def self.project_only?
  GitReflow::Config.get("reflow.local-projects", all: true).include? "#{remote_user}/#{remote_repo_name}"
end

.site_urlObject



35
36
37
# File 'lib/git_reflow/git_server/base.rb', line 35

def self.site_url
  raise "#{self.class.to_s}.site_url method must be implemented"
end

.site_url=(site_url, options = {local: false}) ⇒ Object



39
40
41
# File 'lib/git_reflow/git_server/base.rb', line 39

def self.site_url=(site_url, options = {local: false})
  raise "#{self.class.to_s}.site_url= method must be implemented"
end

.userObject



23
24
25
# File 'lib/git_reflow/git_server/base.rb', line 23

def self.user
  raise "#{self.class.to_s}.user method must be implemented"
end

Instance Method Details

#authenticateObject



51
52
53
# File 'lib/git_reflow/git_server/base.rb', line 51

def authenticate
  raise "#{self.class.to_s}#authenticate method must be implemented"
end

#colorized_build_description(status) ⇒ Object



63
64
65
# File 'lib/git_reflow/git_server/base.rb', line 63

def colorized_build_description status
  raise "#{self.class.to_s}#colorized_build_description(status) method must be implemented"
end

#connectionObject



47
48
49
# File 'lib/git_reflow/git_server/base.rb', line 47

def connection
  @connection ||= self.class.connection
end

#find_open_pull_request(options) ⇒ Object



55
56
57
# File 'lib/git_reflow/git_server/base.rb', line 55

def find_open_pull_request(options)
  raise "#{self.class.to_s}#find_open_pull_request(options) method must be implemented"
end

#get_build_status(sha) ⇒ Object



59
60
61
# File 'lib/git_reflow/git_server/base.rb', line 59

def get_build_status sha
  raise "#{self.class.to_s}#get_build_status(sha) method must be implemented"
end