Class: MirrorGithub::Git
- Inherits:
-
Object
- Object
- MirrorGithub::Git
- Defined in:
- lib/mirror_github/git.rb
Instance Attribute Summary collapse
-
#repository ⇒ Object
Returns the value of attribute repository.
- #target_dir ⇒ Object
Instance Method Summary collapse
- #create_mirror ⇒ Object
- #go_to_mirror_dir ⇒ Object
- #go_to_target_dir ⇒ Object
-
#initialize(target_dir, repository) ⇒ Git
constructor
Takes a target_dir string and a Repository class.
- #mirror_directory ⇒ Object
- #mirror_exists? ⇒ Boolean
- #update_mirror ⇒ Object
Constructor Details
#initialize(target_dir, repository) ⇒ Git
Takes a target_dir string and a Repository class
8 9 10 11 12 13 |
# File 'lib/mirror_github/git.rb', line 8 def initialize(target_dir, repository) self.target_dir = target_dir raise "GitHub backup directory, #{self.target_dir}, does not exist!" unless File.directory?(self.target_dir) self.repository = repository end |
Instance Attribute Details
#repository ⇒ Object
Returns the value of attribute repository.
4 5 6 |
# File 'lib/mirror_github/git.rb', line 4 def repository @repository end |
#target_dir ⇒ Object
35 36 37 |
# File 'lib/mirror_github/git.rb', line 35 def target_dir File.(@target_dir) end |
Instance Method Details
#create_mirror ⇒ Object
15 16 17 |
# File 'lib/mirror_github/git.rb', line 15 def create_mirror `#{go_to_target_dir} && git clone --mirror #{repository.ssh_url} #{mirror_directory}` end |
#go_to_mirror_dir ⇒ Object
23 24 25 |
# File 'lib/mirror_github/git.rb', line 23 def go_to_mirror_dir "cd #{File.join(target_dir, mirror_directory)}" end |
#go_to_target_dir ⇒ Object
19 20 21 |
# File 'lib/mirror_github/git.rb', line 19 def go_to_target_dir "cd #{target_dir}" end |
#mirror_directory ⇒ Object
27 28 29 |
# File 'lib/mirror_github/git.rb', line 27 def mirror_directory "#{repository.name}.git" end |
#mirror_exists? ⇒ Boolean
31 32 33 |
# File 'lib/mirror_github/git.rb', line 31 def mirror_exists? File.exists? File.join(target_dir, "#{mirror_directory}") end |
#update_mirror ⇒ Object
39 40 41 |
# File 'lib/mirror_github/git.rb', line 39 def update_mirror `#{go_to_mirror_dir} && git fetch` end |