backup_repos 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6718eef43c2b948695d80440e1a4c7b15955ca32
4
- data.tar.gz: ca33ce8930116dfb54d3430d0d596182be3b2def
2
+ SHA256:
3
+ metadata.gz: ee0ccc53eb5f8097ad961b8a142016a2ba038760375c45ee3a6517cd7e7bca41
4
+ data.tar.gz: 112d547c552f67c56e336057e0b662b117f345328959f97f45c372497ca628a7
5
5
  SHA512:
6
- metadata.gz: 37a37b63a83797f0a1c4a4ce2de64abc0e9cc2a6bc4df349d572f0b706b3d263522611ce24f516e5c0eb7aae77ca579ebaa3cb5bc47fcedcbf29ecb348f8228e
7
- data.tar.gz: 440710ae8c2a1900b3f781dc8a9855f5754908a9ac72f193390ef7344b75f5a10f569e2eb642a33b550b098dceeba6f86942e03fbe38fe205faa1c5708400fa4
6
+ metadata.gz: 70a85ecf3341f550b9c934869070ad2b5ef942b721d058921e4a17c51544fc66bce235cdbebd6a75f7540ff720f58855dab34f478705b02655d3a8c4d04c6667
7
+ data.tar.gz: 344842a33943f702aa3c111e5bf3f14353486df1a8e9cf78274d6bbf88e17b5a52abbd46b312131c874d0f73923463020d8bfde69e4e932a758f576a849d436d
@@ -0,0 +1,22 @@
1
+ name: Test
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ build:
7
+
8
+ runs-on: ubuntu-latest
9
+
10
+ steps:
11
+ - uses: actions/checkout@v1
12
+ - name: Set up Ruby 2.6
13
+ uses: actions/setup-ruby@v1
14
+ with:
15
+ ruby-version: 2.6.x
16
+ - name: Build and test with Rake
17
+ env:
18
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
19
+ run: |
20
+ gem install bundler
21
+ bundle install --jobs 4 --retry 3
22
+ bundle exec rspec
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
- Rails:
2
- Enabled: false
1
+ AllCops:
2
+ TargetRubyVersion: 2.6
3
3
 
4
4
  Style/Documentation:
5
5
  Enabled: false
@@ -18,4 +18,4 @@ Style/MultilineMethodCallIndentation:
18
18
 
19
19
  Style/CaseIndentation:
20
20
  Enabled: true
21
- IndentWhenRelativeTo: end
21
+ EnforcedStyle: end
data/Gemfile CHANGED
@@ -1,14 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in backup_repos.gemspec
4
6
  gemspec
5
7
 
8
+ group :development do
9
+ gem 'rubocop', '~> 0.77'
10
+ end
11
+
6
12
  group :development, :test do
7
13
  gem 'pry'
8
14
  end
9
15
 
10
16
  group :test do
11
- gem 'codeclimate-test-reporter'
12
- gem 'coveralls'
17
+ gem 'codecov', require: false
13
18
  gem 'simplecov', require: false
14
19
  end
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 Justas Palumickas
3
+ Copyright (c) 2019 Justas Palumickas
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,11 +1,7 @@
1
1
  # Backup Repos
2
2
 
3
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]
4
+ [![Coverage Status](https://img.shields.io/codecov/c/github/jpalumickas/backup-repos?style=flat-square)][codecov]
9
5
 
10
6
 
11
7
  Backup your GitHub, BitBucket and GitLab repositories to specified directory.
@@ -34,7 +30,7 @@ Backup all your providers:
34
30
  $ backup-repos backup
35
31
  ```
36
32
 
37
- Or specify one:
33
+ Or specify one provider:
38
34
 
39
35
  ```shell
40
36
  $ backup-repos backup github
@@ -52,14 +48,10 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
52
48
  Bug reports and pull requests are welcome on GitHub at https://github.com/jpalumickas/backup-repos.
53
49
 
54
50
  ## Copyright
55
- Copyright (c) 2017 Justas Palumickas.
51
+ Copyright (c) 2019 Justas Palumickas.
56
52
  See [LICENSE][] for details.
57
53
 
58
54
  [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
55
+ [codecov]: https://codecov.io/gh/jpalumickas/backup-repos
64
56
 
65
57
  [license]: LICENSE.md
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
3
5
 
data/backup_repos.gemspec CHANGED
@@ -1,5 +1,6 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'backup_repos/version'
5
6
 
@@ -20,14 +21,17 @@ Gem::Specification.new do |spec|
20
21
  spec.executables = ['backup-repos']
21
22
  spec.require_paths = ['lib']
22
23
 
24
+ spec.required_ruby_version = '>= 2.4.0'
25
+
23
26
  spec.add_dependency 'bitbucket_rest_api', '~> 0.1.7'
24
27
  spec.add_dependency 'colorize', '~> 0.8.1'
25
28
  spec.add_dependency 'commander', '~> 4.4'
26
- spec.add_dependency 'gitlab', '~> 3.7'
27
- spec.add_dependency 'hashie', '~> 3.5'
28
- spec.add_dependency 'octokit', '~> 4.6'
29
+ spec.add_dependency 'gitlab', '~> 4.12'
30
+ spec.add_dependency 'hashie', '~> 4.0'
31
+ spec.add_dependency 'highline', '~> 2.0'
32
+ spec.add_dependency 'octokit', '~> 4.14'
29
33
 
30
- spec.add_development_dependency 'bundler', '~> 1.11'
31
- spec.add_development_dependency 'rake', '~> 10.0'
32
- spec.add_development_dependency 'rspec', '~> 3.5'
34
+ spec.add_development_dependency 'bundler', '~> 2.0'
35
+ spec.add_development_dependency 'rake', '~> 12.0'
36
+ spec.add_development_dependency 'rspec', '~> 3.8'
33
37
  end
data/bin/backup-repos CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
- # encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
+ require 'bundler/setup'
4
5
  require 'backup_repos'
5
6
 
6
7
  BackupRepos::Commander.new.run
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'bundler/setup'
4
5
  require 'backup_repos'
data/lib/backup_repos.rb CHANGED
@@ -1,8 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'colorize'
2
4
 
3
5
  require 'core_ext/object'
4
6
  require 'core_ext/string'
5
7
 
8
+ require 'backup_repos/mash'
6
9
  require 'backup_repos/commander'
7
10
  require 'backup_repos/config'
8
11
  require 'backup_repos/shell'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'performers/base_git'
2
4
  require_relative 'backup_github'
3
5
  require_relative 'backup_bitbucket'
@@ -22,16 +24,22 @@ module BackupRepos
22
24
 
23
25
  def process_github
24
26
  return unless valid?
27
+ return unless BackupRepos.config.github_access_token
28
+
25
29
  BackupGithub.new.process
26
30
  end
27
31
 
28
32
  def process_bitbucket
29
33
  return unless valid?
34
+ return unless BackupRepos.config.bitbucket
35
+
30
36
  BackupBitbucket.new.process
31
37
  end
32
38
 
33
39
  def process_gitlab
34
40
  return unless valid?
41
+ return unless BackupRepos.config.gitlab
42
+
35
43
  BackupGitlab.new.process
36
44
  end
37
45
 
@@ -54,6 +62,7 @@ module BackupRepos
54
62
  end
55
63
 
56
64
  return if File.exist?(backup_root)
65
+
57
66
  errors << 'Backup directory does not exists.'
58
67
  end
59
68
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bitbucket_rest_api'
2
4
 
3
5
  require_relative 'performers/bitbucket_git_repository'
@@ -19,8 +21,8 @@ module BackupRepos
19
21
 
20
22
  def ask_credentials
21
23
  cli = HighLine.new
22
- @username = cli.ask('BitBucket Username: ')
23
- @password = cli.ask('BitBucket Password: ') { |q| q.echo = false }
24
+ @username = BackupRepos.config.dig('bitbucket', 'username') || cli.ask('BitBucket Username: ')
25
+ @password = BackupRepos.config.dig('bitbucket', 'password') || cli.ask('BitBucket Password: ') { |q| q.echo = false }
24
26
  end
25
27
 
26
28
  def process_git_repositories
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'octokit'
2
4
 
3
5
  require_relative 'performers/github_repository'
@@ -9,7 +11,7 @@ module BackupRepos
9
11
  def process
10
12
  process_repositories
11
13
  process_wiki
12
- process_gist
14
+ process_gist if backup_gist?
13
15
  end
14
16
 
15
17
  def repos
@@ -49,12 +51,22 @@ module BackupRepos
49
51
  end
50
52
 
51
53
  def exclude_repo?(repo)
54
+ allow_list = BackupRepos.config.only_list
55
+ return !repo_exists?(allow_list, repo) if allow_list.present?
56
+
52
57
  return false if exclude_repos.blank?
53
58
 
59
+ repo_exists?(exclude_repos, repo)
60
+ end
61
+
62
+ def repo_exists?(list, repo)
54
63
  repo_owner = repo.owner.login.to_s.downcase
55
64
  full_name = repo.full_name.to_s.downcase
65
+ list.include?(repo_owner) || list.include?(full_name)
66
+ end
56
67
 
57
- exclude_repos.include?(repo_owner) || exclude_repos.include?(full_name)
68
+ def backup_gist?
69
+ BackupRepos.config.only_list.blank?
58
70
  end
59
71
  end
60
72
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BackupRepos
2
4
  class BackupGitlab
3
5
  def process
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'gitlab'
2
4
  require 'uri'
3
5
 
@@ -5,10 +7,12 @@ require_relative 'performers/gitlab_repository'
5
7
 
6
8
  module BackupRepos
7
9
  class BackupGitlabEndpoint
10
+ DEFAULT_ENDPOINT = 'https://gitlab.com/api/v4'
11
+
8
12
  attr_reader :endpoint, :private_token
9
13
 
10
14
  def initialize(settings)
11
- @endpoint = settings.endpoint
15
+ @endpoint = settings.endpoint || DEFAULT_ENDPOINT
12
16
  @private_token = settings.private_token
13
17
  end
14
18
 
@@ -17,7 +21,7 @@ module BackupRepos
17
21
  end
18
22
 
19
23
  def repos
20
- @repos ||= client.projects.auto_paginate
24
+ @repos ||= client.projects(membership: true).auto_paginate
21
25
  end
22
26
 
23
27
  def client
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BackupRepos
2
4
  module CLI
3
5
  class Setup
@@ -33,6 +35,10 @@ module BackupRepos
33
35
  if cli.agree '* Are you want to backup BitBucket repositories?'
34
36
  configure_bitbucket
35
37
  end
38
+
39
+ if cli.agree '* Are you want to backup GitLab repositories?'
40
+ configure_gitlab
41
+ end
36
42
  end
37
43
 
38
44
  def configure_backup_directory
@@ -78,6 +84,26 @@ module BackupRepos
78
84
  end
79
85
  end
80
86
 
87
+ def configure_gitlab
88
+ @config[:gitlab] ||= []
89
+
90
+ cli.say ' GitLab Endpoint. Use this for self-hosted GitLab or press Enter to skip.'
91
+ endpoint = cli.ask ' Endpoint: '
92
+ cli.say ' What is your GitLab private token?'
93
+ private_token = cli.ask ' Private Token: '
94
+ exclude_repositories = cli.ask(
95
+ ' Exclude repositories or organizations (separate by space): ', Array
96
+ )
97
+
98
+ config = {}
99
+ config[:endpoint] = endpoint if endpoint.present?
100
+ config[:private_token] = private_token if private_token.present?
101
+
102
+ config[:exclude] = exclude_repositories if exclude_repositories.present?
103
+
104
+ @config[:gitlab] << config
105
+ end
106
+
81
107
  def configure_bitbucket
82
108
  cli.say ' What is your BitBucket credentials?'
83
109
  username = ask(' Username: ')
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'commander'
2
4
 
3
5
  require_relative 'cli/setup'
@@ -15,13 +17,15 @@ module BackupRepos
15
17
  c.syntax = 'backup-repos backup'
16
18
  c.description = 'Backup your repositories.'
17
19
 
18
- c.option '--backup_root DIR', String, 'Backup destination directory'
20
+ c.option '--config-path PATH', String, 'Path to configuration file'
21
+ c.option '--backup-root DIR', String, 'Backup destination directory'
19
22
  c.option '--debug', String, 'Show debug information'
23
+ c.option '--only LIST', String, 'Only backup specified repos or orgs. Separate by comma.'
20
24
 
21
25
  c.action do |args, options|
22
26
  BackupRepos.config_options = options
23
27
 
24
- if args[0] && %w(github bitbucket gitlab).include?(args[0].downcase)
28
+ if args[0] && %w[github bitbucket gitlab].include?(args[0].downcase)
25
29
  BackupRepos::Backup.new.send("process_#{args[0]}")
26
30
  else
27
31
  BackupRepos::Backup.new.process
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'yaml'
2
4
  require 'hashie/mash'
3
5
 
@@ -5,7 +7,7 @@ module BackupRepos
5
7
  class Config
6
8
  attr_reader :options
7
9
 
8
- def initialize(options = Hashie::Mash.new({}))
10
+ def initialize(options = BackupRepos::Mash.new({}))
9
11
  @options = options
10
12
  end
11
13
 
@@ -17,6 +19,7 @@ module BackupRepos
17
19
 
18
20
  def backup_root
19
21
  return if backup_root_dir.blank?
22
+
20
23
  File.expand_path(backup_root_dir)
21
24
  end
22
25
 
@@ -25,10 +28,18 @@ module BackupRepos
25
28
  options.github_access_token || config_token
26
29
  end
27
30
 
31
+ def only_list
32
+ return if options.only.blank?
33
+
34
+ options.only.split(',').map(&:strip)
35
+ end
36
+
28
37
  # ===
29
38
 
30
39
  def method_missing(name, *_args)
31
- options.send(name) || config[name.to_s] || super
40
+ return options.send(name) if options.respond_to?(name)
41
+
42
+ config[name.to_s]
32
43
  end
33
44
 
34
45
  def respond_to_missing?(name, include_private = false)
@@ -36,17 +47,24 @@ module BackupRepos
36
47
  end
37
48
 
38
49
  def config_file
39
- File.join(Dir.home, '.backup-repos')
50
+ return File.join(Dir.home, '.backup-repos') if options.config_path.blank?
51
+
52
+ File.expand_path(options.config_path)
53
+ end
54
+
55
+ def dig(*args)
56
+ config.dig(*args)
40
57
  end
41
58
 
42
59
  private
43
60
 
44
61
  def config
45
- @config ||= Hashie::Mash.new(file_config)
62
+ @config ||= BackupRepos::Mash.new(file_config)
46
63
  end
47
64
 
48
65
  def file_config
49
66
  return {} unless File.exist?(config_file)
67
+
50
68
  @file_config ||= (YAML.load_file(config_file) || {})
51
69
  end
52
70
 
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'hashie/mash'
4
+
5
+ module BackupRepos
6
+ class Mash < Hashie::Mash
7
+ disable_warnings
8
+ end
9
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BackupRepos
2
4
  module Performers
3
5
  class BaseGit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BackupRepos
2
4
  module Performers
3
5
  class BitbucketGitRepository < BaseGit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BackupRepos
2
4
  module Performers
3
5
  class BitbucketGitWiki < BitbucketGitRepository
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BackupRepos
2
4
  module Performers
3
5
  class GithubGist < BaseGit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BackupRepos
2
4
  module Performers
3
5
  class GithubRepository < BaseGit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BackupRepos
2
4
  module Performers
3
5
  class GithubWiki < BaseGit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BackupRepos
2
4
  module Performers
3
5
  class GitlabRepository < BaseGit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BackupRepos
2
4
  class Shell
3
5
  def initialize(opts = {})
@@ -16,7 +18,7 @@ module BackupRepos
16
18
  end
17
19
 
18
20
  def execute_command(command)
19
- output = IO.popen(command, 'r', err: [:child, :out]) do |io|
21
+ output = IO.popen(command, 'r', err: %i[child out]) do |io|
20
22
  output = io.read
21
23
  log_output(output)
22
24
  output
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BackupRepos
2
- VERSION = '0.3.0'.freeze
4
+ VERSION = '0.4.0'
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Object
2
4
  def blank?
3
5
  respond_to?(:empty?) ? !!empty? : !self
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class String
2
- BLANK_RE = /\A[[:space:]]*\z/
4
+ BLANK_RE = /\A[[:space:]]*\z/.freeze
3
5
 
4
6
  def blank?
5
7
  BLANK_RE.match(self)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backup_repos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.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: 2017-02-27 00:00:00.000000000 Z
11
+ date: 2019-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bitbucket_rest_api
@@ -58,84 +58,98 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.7'
61
+ version: '4.12'
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: '3.7'
68
+ version: '4.12'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: hashie
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '3.5'
75
+ version: '4.0'
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: '3.5'
82
+ version: '4.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: highline
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: octokit
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: '4.6'
103
+ version: '4.14'
90
104
  type: :runtime
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: '4.6'
110
+ version: '4.14'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: bundler
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: '1.11'
117
+ version: '2.0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: '1.11'
124
+ version: '2.0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rake
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '10.0'
131
+ version: '12.0'
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: '10.0'
138
+ version: '12.0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: rspec
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: '3.5'
145
+ version: '3.8'
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: '3.5'
152
+ version: '3.8'
139
153
  description: Backup your GitHub, BitBucket, GitLab repositories to specified directory.
140
154
  email:
141
155
  - jpalumickas@gmail.com
@@ -144,14 +158,13 @@ executables:
144
158
  extensions: []
145
159
  extra_rdoc_files: []
146
160
  files:
147
- - ".codeclimate.yml"
161
+ - ".github/workflows/test.yml"
148
162
  - ".gitignore"
149
163
  - ".hound.yml"
150
164
  - ".rspec"
151
165
  - ".rubocop.yml"
152
- - ".travis.yml"
153
166
  - Gemfile
154
- - LICENSE.md
167
+ - LICENSE
155
168
  - README.md
156
169
  - Rakefile
157
170
  - backup_repos.gemspec
@@ -167,6 +180,7 @@ files:
167
180
  - lib/backup_repos/cli/setup.rb
168
181
  - lib/backup_repos/commander.rb
169
182
  - lib/backup_repos/config.rb
183
+ - lib/backup_repos/mash.rb
170
184
  - lib/backup_repos/performers/base_git.rb
171
185
  - lib/backup_repos/performers/bitbucket_git_repository.rb
172
186
  - lib/backup_repos/performers/bitbucket_git_wiki.rb
@@ -189,15 +203,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
189
203
  requirements:
190
204
  - - ">="
191
205
  - !ruby/object:Gem::Version
192
- version: '0'
206
+ version: 2.4.0
193
207
  required_rubygems_version: !ruby/object:Gem::Requirement
194
208
  requirements:
195
209
  - - ">="
196
210
  - !ruby/object:Gem::Version
197
211
  version: '0'
198
212
  requirements: []
199
- rubyforge_project:
200
- rubygems_version: 2.6.8
213
+ rubygems_version: 3.0.6
201
214
  signing_key:
202
215
  specification_version: 4
203
216
  summary: Backup your repositories
data/.codeclimate.yml DELETED
@@ -1,22 +0,0 @@
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/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2.3
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