backup_repos 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0b0884025924fcb946682d88c8c83cef799d0ecb
4
- data.tar.gz: 888d46fa8743dc2b2e3a825fa7c5e5527ae6a7b9
3
+ metadata.gz: 4274a6ab90f801376a89a90d55b438cca9ec7d66
4
+ data.tar.gz: de82161c31a999843ed27eb1028c085d18896df3
5
5
  SHA512:
6
- metadata.gz: 08d84649c437fe0ec1ff33eee8ded77cc0b9f61f3c456b0464bcde28635636c6ca5c3ea83a558dc5d39ddd1bab0c6e32e6e5ad1a0ddd7f424482987384927472
7
- data.tar.gz: 2543ba5caf5db9e3595c923bc1df6e736a42e135494ac3018cbf576e670248793a4f62daacb051b69826435dd5e1e2053ad234ebabe5a83abb3dd687fb87a456
6
+ metadata.gz: 5975e16c635d31044ac28c8c15a3cc8bd4b4c6e4036283226414321ee104dd9df793eb70400ef40eb09e1df770cbbc849bee9a47d692cb93f4b41af85e0f342d
7
+ data.tar.gz: 34bd0389d432a1846db0d58e30b00fc4ed57bf714f5a89616eaebdc8144eac557b6af94a6a030c1a66cc92801353876580170b2e2496aa52c02087ffd6fce47d
data/.codeclimate.yml ADDED
@@ -0,0 +1,22 @@
1
+ engines:
2
+ duplication:
3
+ enabled: true
4
+ config:
5
+ languages:
6
+ - ruby
7
+ fixme:
8
+ enabled: true
9
+ rubocop:
10
+ enabled: true
11
+ exclude_fingerprints:
12
+ - 580ec239bc6e53e62cd63ce219b812e6
13
+ - 39dfc9669aec43e3e76abb09d3b5fcc1
14
+ - 016d5b320f02cb900b27631f3c7c0a20
15
+ checks:
16
+ Rubocop/Rails/Output:
17
+ enabled: false
18
+ ratings:
19
+ paths:
20
+ - "**.rb"
21
+ exclude_paths:
22
+ - spec/
data/.hound.yml ADDED
@@ -0,0 +1,5 @@
1
+ fail_on_violations: true
2
+
3
+ ruby:
4
+ enabled: true
5
+ config_file: .rubocop.yml
data/.rubocop.yml CHANGED
@@ -1,3 +1,6 @@
1
+ Rails:
2
+ Enabled: false
3
+
1
4
  Style/Documentation:
2
5
  Enabled: false
3
6
 
data/.travis.yml CHANGED
@@ -2,3 +2,10 @@ language: ruby
2
2
  rvm:
3
3
  - 2.2.3
4
4
  before_install: gem install bundler -v 1.11.2
5
+ notifications:
6
+ webhooks:
7
+ urls:
8
+ - https://webhooks.gitter.im/e/42b88a12ac0d365e7709
9
+ on_success: change # options: [always|never|change] default: always
10
+ on_failure: always # options: [always|never|change] default: always
11
+ on_start: never # options: [always|never|change] default: always
data/Gemfile CHANGED
@@ -3,6 +3,12 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in backup_repos.gemspec
4
4
  gemspec
5
5
 
6
- group :development do
6
+ group :development, :test do
7
7
  gem 'pry'
8
8
  end
9
+
10
+ group :test do
11
+ gem 'codeclimate-test-reporter'
12
+ gem 'coveralls'
13
+ gem 'simplecov', require: false
14
+ end
data/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Justas Palumickas
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md CHANGED
@@ -1,6 +1,14 @@
1
1
  # Backup Repos
2
2
 
3
- Backup your GitHub and BitBucket repositories to specified directory.
3
+ [![Gem Version](https://img.shields.io/gem/v/backup_repos.svg?style=flat-square)][rubygems]
4
+ [![Gitter](https://img.shields.io/gitter/room/jpalumickas/jpalumickas.svg?style=flat-square)][gitter]
5
+ [![Build Status](https://img.shields.io/travis/jpalumickas/backup-repos.svg?style=flat-square)][travis]
6
+ [![Dependency Status](https://img.shields.io/gemnasium/jpalumickas/backup-repos.svg?style=flat-square)][gemnasium]
7
+ [![Coverage Status](https://img.shields.io/coveralls/jpalumickas/backup-repos.svg?branch=master&style=flat-square)][coveralls]
8
+ [![Code Climate](https://img.shields.io/codeclimate/github/jpalumickas/backup-repos.svg?style=flat-square)][codeclimate]
9
+
10
+
11
+ Backup your GitHub, BitBucket and GitLab repositories to specified directory.
4
12
 
5
13
  ## Installation
6
14
 
@@ -10,7 +18,28 @@ $ gem install backup_repos
10
18
 
11
19
  ## Usage
12
20
 
13
- TODO: Write usage instructions here
21
+ #### Setup your settings
22
+
23
+ ```shell
24
+ $ backup-repos setup
25
+ ```
26
+
27
+ Settings will be written to your home directory `.backup-repos` file.
28
+
29
+ #### Backup your repositories
30
+
31
+ Backup all your providers:
32
+
33
+ ```shell
34
+ $ backup-repos backup
35
+ ```
36
+
37
+ Or specify one:
38
+
39
+ ```shell
40
+ $ backup-repos backup github
41
+ ```
42
+
14
43
 
15
44
  ## Development
16
45
 
@@ -20,4 +49,17 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
20
49
 
21
50
  ## Contributing
22
51
 
23
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/backup_repos.
52
+ Bug reports and pull requests are welcome on GitHub at https://github.com/jpalumickas/backup-repos.
53
+
54
+ ## Copyright
55
+ Copyright (c) 2016 Justas Palumickas.
56
+ See [LICENSE][] for details.
57
+
58
+ [rubygems]: https://rubygems.org/gems/backup_repos
59
+ [travis]: http://travis-ci.org/jpalumickas/backup-repos
60
+ [gemnasium]: https://gemnasium.com/jpalumickas/backup-repos
61
+ [coveralls]: https://coveralls.io/r/jpalumickas/backup-repos
62
+ [codeclimate]: https://codeclimate.com/github/jpalumickas/backup-repos
63
+ [gitter]: https://gitter.im/jpalumickas/backup-repos
64
+
65
+ [license]: LICENSE.md
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
data/backup_repos.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ['jpalumickas@gmail.com']
11
11
 
12
12
  spec.summary = 'Backup your repositories'
13
- spec.description = 'Backup your GitHub, BitBucket repositories to '\
13
+ spec.description = 'Backup your GitHub, BitBucket, GitLab repositories to '\
14
14
  'specified directory.'
15
15
  spec.homepage = 'https://github.com/jpalumickas/backup-repos'
16
16
 
@@ -20,13 +20,14 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = ['backup-repos']
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_dependency 'commander', '~> 4.3'
24
- spec.add_dependency 'colorize', '~> 0.7.7'
25
- spec.add_dependency 'hashie', '~> 3.4'
26
- spec.add_dependency 'octokit', '~> 4.2'
27
23
  spec.add_dependency 'bitbucket_rest_api', '~> 0.1.7'
24
+ spec.add_dependency 'colorize', '~> 0.8.1'
25
+ spec.add_dependency 'commander', '~> 4.4'
26
+ spec.add_dependency 'gitlab', '~> 3.7'
27
+ spec.add_dependency 'hashie', '~> 3.4'
28
+ spec.add_dependency 'octokit', '~> 4.3'
28
29
 
29
30
  spec.add_development_dependency 'bundler', '~> 1.11'
30
31
  spec.add_development_dependency 'rake', '~> 10.0'
31
- spec.add_development_dependency 'rspec', '~> 3.0'
32
+ spec.add_development_dependency 'rspec', '~> 3.5'
32
33
  end
data/bin/console CHANGED
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "backup_repos"
3
+ require 'bundler/setup'
4
+ require 'backup_repos'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
9
  # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
10
+ require 'pry'
11
+ Pry.start
12
12
 
13
- require "irb"
14
- IRB.start
13
+ # require 'irb'
14
+ # IRB.start
data/lib/backup_repos.rb CHANGED
@@ -20,7 +20,7 @@ module BackupRepos
20
20
  @config ||= BackupRepos::Config.new
21
21
  end
22
22
 
23
- def self.config=(options = {})
23
+ def self.config_options=(options = {})
24
24
  @config = BackupRepos::Config.new(options)
25
25
  end
26
26
  end
@@ -1,6 +1,8 @@
1
1
  require_relative 'performers/base_git'
2
2
  require_relative 'backup_github'
3
3
  require_relative 'backup_bitbucket'
4
+ require_relative 'backup_gitlab_endpoint'
5
+ require_relative 'backup_gitlab'
4
6
 
5
7
  module BackupRepos
6
8
  class Backup
@@ -13,10 +15,24 @@ module BackupRepos
13
15
  end
14
16
 
15
17
  def process
18
+ process_github
19
+ process_bitbucket
20
+ process_gitlab
21
+ end
22
+
23
+ def process_github
24
+ return unless valid?
25
+ BackupGithub.new.process
26
+ end
27
+
28
+ def process_bitbucket
16
29
  return unless valid?
30
+ BackupBitbucket.new.process
31
+ end
17
32
 
18
- BackupGithub.process
19
- BackupBitbucket.process
33
+ def process_gitlab
34
+ return unless valid?
35
+ BackupGitlab.new.process
20
36
  end
21
37
 
22
38
  def valid?
@@ -37,9 +53,8 @@ module BackupRepos
37
53
  errors.push('Backup directory is not specified.') && return
38
54
  end
39
55
 
40
- unless File.exist?(backup_root)
41
- errors << 'Backup directory is not exists.'
42
- end
56
+ return if File.exist?(backup_root)
57
+ errors << 'Backup directory does not exists.'
43
58
  end
44
59
 
45
60
  def inform_about_error!
@@ -5,12 +5,6 @@ require_relative 'performers/bitbucket_git_wiki'
5
5
 
6
6
  module BackupRepos
7
7
  class BackupBitbucket
8
- class << self
9
- def process
10
- new.process
11
- end
12
- end
13
-
14
8
  def process
15
9
  ask_credentials
16
10
  process_git_repositories
@@ -6,12 +6,6 @@ require_relative 'performers/github_gist'
6
6
 
7
7
  module BackupRepos
8
8
  class BackupGithub
9
- class << self
10
- def process
11
- new.process
12
- end
13
- end
14
-
15
9
  def process
16
10
  process_repositories
17
11
  process_wiki
@@ -19,7 +13,7 @@ module BackupRepos
19
13
  end
20
14
 
21
15
  def repos
22
- @repos ||= client.repos
16
+ @repos ||= client.repos.reject { |repo| exclude_repo?(repo) }
23
17
  end
24
18
 
25
19
  def client
@@ -49,5 +43,18 @@ module BackupRepos
49
43
  Performers::GithubGist.new(gist_params).backup
50
44
  end
51
45
  end
46
+
47
+ def exclude_repos
48
+ @exclude_repos ||= BackupRepos.config.github.exclude.to_a.map(&:downcase)
49
+ end
50
+
51
+ def exclude_repo?(repo)
52
+ return false if exclude_repos.blank?
53
+
54
+ repo_owner = repo.owner.login.to_s.downcase
55
+ full_name = repo.full_name.to_s.downcase
56
+
57
+ exclude_repos.include?(repo_owner) || exclude_repos.include?(full_name)
58
+ end
52
59
  end
53
60
  end
@@ -0,0 +1,15 @@
1
+ module BackupRepos
2
+ class BackupGitlab
3
+ def process
4
+ endpoints.each do |endpoint|
5
+ BackupRepos::BackupGitlabEndpoint.new(endpoint).call
6
+ end
7
+ end
8
+
9
+ private
10
+
11
+ def endpoints
12
+ BackupRepos.config.gitlab.to_a
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,46 @@
1
+ require 'gitlab'
2
+ require 'uri'
3
+
4
+ require_relative 'performers/gitlab_repository'
5
+
6
+ module BackupRepos
7
+ class BackupGitlabEndpoint
8
+ attr_reader :endpoint, :private_token
9
+
10
+ def initialize(settings)
11
+ @endpoint = settings.endpoint
12
+ @private_token = settings.private_token
13
+ end
14
+
15
+ def call
16
+ backup_repositories
17
+ end
18
+
19
+ def repos
20
+ @repos ||= client.projects.auto_paginate
21
+ end
22
+
23
+ def client
24
+ @client ||= ::Gitlab.client(
25
+ private_token: private_token,
26
+ endpoint: endpoint
27
+ )
28
+ end
29
+
30
+ def endpoint_host
31
+ @endpoint_host ||= URI.parse(endpoint).host
32
+ end
33
+
34
+ private
35
+
36
+ def backup_repositories
37
+ repos.each do |repo_params|
38
+ performer = Performers::GitlabRepository.new(
39
+ repo_params, endpoint_host: endpoint_host
40
+ )
41
+
42
+ performer.backup
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,98 @@
1
+ module BackupRepos
2
+ module CLI
3
+ class Setup
4
+ attr_reader :options, :config
5
+
6
+ def initialize(options)
7
+ @options = options
8
+ @config = {}
9
+ end
10
+
11
+ def call
12
+ configure_from_options
13
+ configure_backup_directory
14
+ configure_providers
15
+ write_config
16
+ end
17
+
18
+ private
19
+
20
+ def write_config
21
+ File.write(BackupRepos.config.config_file, YAML.dump(config))
22
+ end
23
+
24
+ def configure_from_options
25
+ @config[:debug] = true if options.debug
26
+ end
27
+
28
+ def configure_providers
29
+ if cli.agree '* Are you want to backup GitHub repositories?'
30
+ configure_github
31
+ end
32
+
33
+ if cli.agree '* Are you want to backup BitBucket repositories?'
34
+ configure_bitbucket
35
+ end
36
+ end
37
+
38
+ def configure_backup_directory
39
+ cli.say '* To what directory you want to backup?'
40
+ @backup_directory = cli.ask ' Backup directory: ' do |q|
41
+ q.readline = true
42
+ q.completion = Pathname
43
+ q.directory = Pathname.new('/')
44
+ q.default = BackupRepos.config.backup_root
45
+ q.glob = '*'
46
+ end
47
+
48
+ check_backup_directory
49
+ end
50
+
51
+ def check_backup_directory
52
+ @backup_directory = File.expand_path(@backup_directory)
53
+
54
+ unless File.exist?(@backup_directory)
55
+ if cli.agree "Directory '#{@backup_directory} not exists... Want to create it?"
56
+ FileUtils.mkdir_p(@backup_directory)
57
+ else
58
+ configure_backup_directory
59
+ end
60
+ end
61
+
62
+ @config[:backup_root] = @backup_directory
63
+ end
64
+
65
+ def configure_github
66
+ @config[:github] ||= {}
67
+
68
+ cli.say ' What is your GitHub access token?'
69
+ access_token = cli.ask ' Access Token: '
70
+ exclude_repositories = cli.ask(' Exclude repositories (separate by space): ', Array)
71
+
72
+ if access_token.present?
73
+ @config[:github][:access_token] = access_token
74
+ end
75
+
76
+ if exclude_repositories.present?
77
+ @config[:github][:exclude] = exclude_repositories
78
+ end
79
+ end
80
+
81
+ def configure_bitbucket
82
+ cli.say ' What is your BitBucket credentials?'
83
+ username = ask(' Username: ')
84
+ password = ask(' Password: ') { |q| q.echo = '*' }
85
+
86
+ if username.present? && password.present?
87
+ @config[:bitbucket] ||= {}
88
+ @config[:bitbucket][:username] = username
89
+ @config[:bitbucket][:password] = password
90
+ end
91
+ end
92
+
93
+ def cli
94
+ @cli ||= HighLine.new
95
+ end
96
+ end
97
+ end
98
+ end
@@ -1,5 +1,7 @@
1
1
  require 'commander'
2
2
 
3
+ require_relative 'cli/setup'
4
+
3
5
  module BackupRepos
4
6
  class Commander
5
7
  include ::Commander::Methods
@@ -16,9 +18,25 @@ module BackupRepos
16
18
  c.option '--backup_root DIR', String, 'Backup destination directory'
17
19
  c.option '--debug', String, 'Show debug information'
18
20
 
21
+ c.action do |args, options|
22
+ BackupRepos.config_options = options
23
+
24
+ if args[0] && %w(github bitbucket gitlab).include?(args[0].downcase)
25
+ BackupRepos::Backup.new.send("process_#{args[0]}")
26
+ else
27
+ BackupRepos::Backup.new.process
28
+ end
29
+ end
30
+ end
31
+
32
+ command :setup do |c|
33
+ c.syntax = 'backup-repos setup'
34
+ c.description = 'Setup settings.'
35
+
36
+ c.option '--debug', String, 'Setup with debug flag.'
37
+
19
38
  c.action do |_args, options|
20
- BackupRepos.config = options
21
- BackupRepos::Backup.new.process
39
+ BackupRepos::CLI::Setup.new(options).call
22
40
  end
23
41
  end
24
42
 
@@ -5,7 +5,7 @@ module BackupRepos
5
5
  class Config
6
6
  attr_reader :options
7
7
 
8
- def initialize(options = {})
8
+ def initialize(options = Hashie::Mash.new({}))
9
9
  @options = options
10
10
  end
11
11
 
@@ -28,7 +28,11 @@ module BackupRepos
28
28
  # ===
29
29
 
30
30
  def method_missing(name, *_args)
31
- config[name.to_s]
31
+ options.send(name) || config[name.to_s]
32
+ end
33
+
34
+ def config_file
35
+ File.join(Dir.home, '.backup-repos')
32
36
  end
33
37
 
34
38
  private
@@ -37,10 +41,6 @@ module BackupRepos
37
41
  @config ||= Hashie::Mash.new(file_config)
38
42
  end
39
43
 
40
- def config_file
41
- File.join(Dir.home, '.backup-repos')
42
- end
43
-
44
44
  def file_config
45
45
  return {} unless File.exist?(config_file)
46
46
  @file_config ||= (YAML.load_file(config_file) || {})
@@ -1,10 +1,11 @@
1
1
  module BackupRepos
2
2
  module Performers
3
3
  class BaseGit
4
- attr_reader :params
4
+ attr_reader :params, :options
5
5
 
6
- def initialize(params)
6
+ def initialize(params, options = {})
7
7
  @params = params
8
+ @options = options
8
9
  end
9
10
 
10
11
  def backup
@@ -1,10 +1,6 @@
1
1
  module BackupRepos
2
2
  module Performers
3
- class BitbucketGitWiki < BaseGit
4
- def provider
5
- 'BitBucket'
6
- end
7
-
3
+ class BitbucketGitWiki < BitbucketGitRepository
8
4
  def clone_url
9
5
  "git@bitbucket.org:#{full_name}.git/wiki"
10
6
  end
@@ -12,12 +8,6 @@ module BackupRepos
12
8
  def backup_path
13
9
  "#{full_name}.wiki.git"
14
10
  end
15
-
16
- private
17
-
18
- def full_name
19
- "#{params.owner}/#{params.slug}"
20
- end
21
11
  end
22
12
  end
23
13
  end
@@ -0,0 +1,17 @@
1
+ module BackupRepos
2
+ module Performers
3
+ class GitlabRepository < BaseGit
4
+ def provider
5
+ 'GitLab'
6
+ end
7
+
8
+ def clone_url
9
+ params.ssh_url_to_repo
10
+ end
11
+
12
+ def backup_path
13
+ "#{options[:endpoint_host]}/#{params.path_with_namespace}.git"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module BackupRepos
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
@@ -2,4 +2,8 @@ class Object
2
2
  def blank?
3
3
  respond_to?(:empty?) ? !!empty? : !self
4
4
  end
5
+
6
+ def present?
7
+ !blank?
8
+ end
5
9
  end
metadata CHANGED
@@ -1,85 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backup_repos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justas Palumickas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-05 00:00:00.000000000 Z
11
+ date: 2016-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: commander
14
+ name: bitbucket_rest_api
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.3'
19
+ version: 0.1.7
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '4.3'
26
+ version: 0.1.7
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: colorize
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.7.7
33
+ version: 0.8.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.7.7
40
+ version: 0.8.1
41
41
  - !ruby/object:Gem::Dependency
42
- name: hashie
42
+ name: commander
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.4'
47
+ version: '4.4'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.4'
54
+ version: '4.4'
55
55
  - !ruby/object:Gem::Dependency
56
- name: octokit
56
+ name: gitlab
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '4.2'
61
+ version: '3.7'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '4.2'
68
+ version: '3.7'
69
69
  - !ruby/object:Gem::Dependency
70
- name: bitbucket_rest_api
70
+ name: hashie
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.1.7
75
+ version: '3.4'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.1.7
82
+ version: '3.4'
83
+ - !ruby/object:Gem::Dependency
84
+ name: octokit
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '4.3'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '4.3'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: bundler
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -114,15 +128,15 @@ dependencies:
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '3.0'
131
+ version: '3.5'
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: '3.0'
125
- description: Backup your GitHub, BitBucket repositories to specified directory.
138
+ version: '3.5'
139
+ description: Backup your GitHub, BitBucket, GitLab repositories to specified directory.
126
140
  email:
127
141
  - jpalumickas@gmail.com
128
142
  executables:
@@ -130,11 +144,14 @@ executables:
130
144
  extensions: []
131
145
  extra_rdoc_files: []
132
146
  files:
147
+ - ".codeclimate.yml"
133
148
  - ".gitignore"
149
+ - ".hound.yml"
134
150
  - ".rspec"
135
151
  - ".rubocop.yml"
136
152
  - ".travis.yml"
137
153
  - Gemfile
154
+ - LICENSE.md
138
155
  - README.md
139
156
  - Rakefile
140
157
  - backup_repos.gemspec
@@ -145,6 +162,9 @@ files:
145
162
  - lib/backup_repos/backup.rb
146
163
  - lib/backup_repos/backup_bitbucket.rb
147
164
  - lib/backup_repos/backup_github.rb
165
+ - lib/backup_repos/backup_gitlab.rb
166
+ - lib/backup_repos/backup_gitlab_endpoint.rb
167
+ - lib/backup_repos/cli/setup.rb
148
168
  - lib/backup_repos/commander.rb
149
169
  - lib/backup_repos/config.rb
150
170
  - lib/backup_repos/performers/base_git.rb
@@ -153,6 +173,7 @@ files:
153
173
  - lib/backup_repos/performers/github_gist.rb
154
174
  - lib/backup_repos/performers/github_repository.rb
155
175
  - lib/backup_repos/performers/github_wiki.rb
176
+ - lib/backup_repos/performers/gitlab_repository.rb
156
177
  - lib/backup_repos/shell.rb
157
178
  - lib/backup_repos/version.rb
158
179
  - lib/core_ext/object.rb