backup_repos 0.3.0 → 0.4.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
- 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