repo_man 0.1.1 → 0.1.2

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
2
  SHA1:
3
- metadata.gz: 2d426d05e741a05ef905dccd8b8d824e54674976
4
- data.tar.gz: 15aec6be160e39961a83053e84749032d53be242
3
+ metadata.gz: b781f28aef10946cf054f57ea336073677b3fffd
4
+ data.tar.gz: 4542c5994c8e11425f0da71fb542f98209b7d8cc
5
5
  SHA512:
6
- metadata.gz: 4be72a915a9410492647e879d83ce171a2dbd3a4bbb6b7548c99e3c4d0beae32d02353f4106e42e27705a236532b39f3ad6ab5767928a36d20d733a3a0e73f28
7
- data.tar.gz: 75baded2b986b9b59bb370025ba0361a569f9783f0a8c12d40b1c6f107255f11e78e0aca147be46664880517befa014e8d3a428797d4d150809937c74bd6dd2d
6
+ metadata.gz: 58553a1a39c27869def0c950b95d7c370a9462c30b4492408bfddb9d07de49f7cd9babe39d84cbc722ceba1329e277e8fa03b58903ff4f90d6bf78cca3baceae
7
+ data.tar.gz: c0fa2e885b381756cff1d294cd5de694fc5a93b42575998d8466ae3fe9378162fc5b05df9b604c4cb6ed79e7c73891e587d3e07c5ba9b924ad2d833fc7f39413
data/.rubocop.yml ADDED
@@ -0,0 +1,8 @@
1
+ Metrics/LineLength:
2
+ Max: 120
3
+
4
+ Style/AccessModifierIndentation:
5
+ Enabled: false
6
+
7
+ Style/Documentation:
8
+ Enabled: false
data/Rakefile CHANGED
@@ -3,9 +3,9 @@ require 'rake/testtask'
3
3
 
4
4
  Rake::TestTask.new do |t|
5
5
  t.libs << 'spec'
6
- t.pattern = "spec/**/*_spec.rb"
6
+ t.pattern = 'spec/**/*_spec.rb'
7
7
 
8
8
  end
9
9
 
10
10
  desc 'Run specs'
11
- task :default => :test
11
+ task default: :test
data/bin/repo CHANGED
@@ -1,55 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- require 'thor'
3
- require 'github_api'
2
+ require_relative '../lib/repo_man/cli'
4
3
 
5
- class RepoMan < Thor
6
- class_option :pretend, type: :boolean, desc: "Don't actually make any changes"
7
-
8
- desc 'fetch', 'Fetches all repos into the current directory'
9
- def fetch
10
- puts "Now cloning #{repos.size} repos from #{username}..."
11
-
12
- repos.each do |r|
13
- run("git clone #{r.ssh_url}") unless Dir.exists?(r.name)
14
- end
15
- end
16
-
17
- desc 'update', 'Updates all existing repos in the current directory'
18
- def update
19
- puts 'Checking all current repos for updates...'
20
-
21
- repos.each do |r|
22
- run("cd #{r.name} && pwd && git pull --all") if Dir.exists?(r.name)
23
- end
24
- end
25
- private
26
-
27
- def repos
28
- @repos ||= github.repos.list user: username
29
- rescue Github::Error::Unauthorized => e
30
- puts "\n Missing or incorrect auth token. Please set GITHUB_TOKEN for this env.\n\n"
31
- puts e.inspect
32
- puts
33
- rescue Github::Error::NotFound => e
34
- puts "\n Incorrenct user account. The account (#{username}) was not found.\n\n"
35
- puts e.inspect
36
- puts
37
- end
38
-
39
- def username
40
- @username ||= Dir.pwd.split(File::Separator).last
41
- end
42
-
43
- def github
44
- @github ||= Github.new(
45
- auto_pagination: true,
46
- oauth_token: ENV['GITHUB_TOKEN'])
47
- end
48
-
49
- def run(cmd)
50
- puts cmd
51
- puts `#{cmd}` unless options[:pretend]
52
- end
53
- end
54
-
55
- RepoMan.start
4
+ RepoMan::CLI.start
data/lib/repo_man.rb CHANGED
@@ -1,5 +1,4 @@
1
- require "repo_man/version"
1
+ require 'repo_man/version'
2
2
 
3
3
  module RepoMan
4
-
5
4
  end
@@ -0,0 +1,62 @@
1
+ require 'repo_man'
2
+ require 'thor'
3
+ require 'github_api'
4
+
5
+ # Register the command-line interface options
6
+ module RepoMan
7
+ class CLI < Thor
8
+ class_option :pretend, type: :boolean, desc: "Don't actually make any changes"
9
+
10
+ desc 'version', 'Displays the current gem version'
11
+ def version
12
+ puts RepoMan::VERSION
13
+ end
14
+
15
+ desc 'fetch', 'Fetches all repos into the current directory'
16
+ def fetch
17
+ puts "Now cloning #{repos.size} repos from #{username}..."
18
+
19
+ repos.each do |r|
20
+ run("git clone #{r.ssh_url}") unless Dir.exist?(r.name)
21
+ end
22
+ end
23
+
24
+ desc 'update', 'Updates all existing repos in the current directory'
25
+ def update
26
+ puts 'Checking all current repos for updates...'
27
+
28
+ repos.each do |r|
29
+ run("cd #{r.name} && pwd && git pull --all") if Dir.exist?(r.name)
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def repos
36
+ @repos ||= github.repos.list user: username
37
+ rescue Github::Error::Unauthorized => e
38
+ puts "\n Missing or incorrect auth token. Please set GITHUB_TOKEN for this env.\n\n"
39
+ puts e.inspect
40
+ puts
41
+ rescue Github::Error::NotFound => e
42
+ puts "\n Incorrect user account. The account (#{username}) was not found.\n\n"
43
+ puts e.inspect
44
+ puts
45
+ end
46
+
47
+ def username
48
+ @username ||= Dir.pwd.split(File::Separator).last
49
+ end
50
+
51
+ def github
52
+ @github ||= Github.new(
53
+ auto_pagination: true,
54
+ oauth_token: ENV['GITHUB_TOKEN'])
55
+ end
56
+
57
+ def run(cmd)
58
+ puts cmd
59
+ puts `#{cmd}` unless options[:pretend]
60
+ end
61
+ end
62
+ end
@@ -1,3 +1,3 @@
1
1
  module RepoMan
2
- VERSION = "0.1.1"
2
+ VERSION = '0.1.2'
3
3
  end
data/repo_man.gemspec CHANGED
@@ -4,22 +4,23 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'repo_man/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "repo_man"
7
+ spec.name = 'repo_man'
8
8
  spec.version = RepoMan::VERSION
9
- spec.authors = ["Brook Riggio"]
10
- spec.email = ["brook@codefellows.org"]
11
- spec.summary = %q{Keep the repos under one roof.}
12
- spec.description = %q{Track all the repos for a GitHub user from one parent directory}
13
- spec.homepage = "https://github.com/brookr/repo_man"
14
- spec.license = "MIT"
9
+ spec.authors = ['Brook Riggio']
10
+ spec.email = ['brook@codefellows.org']
11
+ spec.summary = 'Keep the repos under one roof.'
12
+ spec.description = 'Track all the repos for a GitHub user from one parent directory'
13
+ spec.homepage = 'https://github.com/brookr/repo_man'
14
+ spec.license = 'MIT'
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
17
+ spec.executables = spec.files.grep(/^bin\//) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(/^(test|spec|features)\//)
19
+ spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.7"
22
- spec.add_development_dependency "rake", "~> 10.0"
23
- spec.add_development_dependency "thor", "~> 0.19"
24
- spec.add_development_dependency "github_api", "~> 0.12"
21
+ spec.add_development_dependency 'bundler', '~> 1.7'
22
+ spec.add_development_dependency 'rake', '~> 10.0'
23
+
24
+ spec.add_dependency 'thor', '~> 0.19'
25
+ spec.add_dependency 'github_api', '~> 0.12'
25
26
  end
@@ -1,5 +1,5 @@
1
- require "minitest/autorun"
2
- require "minitest/spec"
1
+ require 'minitest/autorun'
2
+ require 'minitest/spec'
3
3
  require 'repo_man'
4
4
 
5
5
  describe RepoMan do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repo_man
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brook Riggio
@@ -45,7 +45,7 @@ dependencies:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0.19'
48
- type: :development
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
@@ -59,7 +59,7 @@ dependencies:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0.12'
62
- type: :development
62
+ type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
@@ -75,12 +75,14 @@ extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
77
  - ".gitignore"
78
+ - ".rubocop.yml"
78
79
  - Gemfile
79
80
  - LICENSE.txt
80
81
  - README.md
81
82
  - Rakefile
82
83
  - bin/repo
83
84
  - lib/repo_man.rb
85
+ - lib/repo_man/cli.rb
84
86
  - lib/repo_man/version.rb
85
87
  - repo_man.gemspec
86
88
  - spec/repo_man_spec.rb