jive 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/jive.gemspec +1 -0
- data/lib/jive.rb +2 -0
- data/lib/jive/cli.rb +3 -1
- data/lib/jive/repo.rb +46 -0
- data/lib/jive/version.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a034483cc87f821d9da5acd3205a179fbbcc28a9f91b8ef491e9e95802272d2f
|
4
|
+
data.tar.gz: 30712e04895db03f07c1ea07d784a7f0ca39f6ecd7e6b8cf8fcb455e97f6f23f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53f26b41d34b6e58f68aac53a4618daddba1380a7d8a0e1f5c1cf3b1f0ea9401d4d0ef04a66ea67c6e6d5ef924bf8aa75099f43f0a9c17002266d42e2384f385
|
7
|
+
data.tar.gz: 3815d23eb9aee2d09fda3784e7bd0f35f0721648b14a3e266f6c5606747efe21049425553f20017730d7eb345da3b5e507f882fae75fd4231251ad12f9d6a8ee
|
data/jive.gemspec
CHANGED
data/lib/jive.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require "fileutils"
|
4
4
|
require "open3"
|
5
|
+
require "rugged"
|
5
6
|
require "uri"
|
6
7
|
|
7
8
|
require "jive/batch_runner"
|
@@ -10,6 +11,7 @@ require "jive/git"
|
|
10
11
|
require "jive/popen"
|
11
12
|
require "jive/project"
|
12
13
|
require "jive/pull_request"
|
14
|
+
require "jive/repo"
|
13
15
|
require "jive/runner"
|
14
16
|
require "jive/shell"
|
15
17
|
require "jive/version"
|
data/lib/jive/cli.rb
CHANGED
data/lib/jive/repo.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Jive
|
4
|
+
class Repo
|
5
|
+
SSH_REGEX = %r{\Agit@(?<host>.+):(?<account>.+)/(?<repo>.+)\z}.freeze
|
6
|
+
|
7
|
+
def initialize(path)
|
8
|
+
@repo = Rugged::Repository.new(path.to_s)
|
9
|
+
end
|
10
|
+
|
11
|
+
def canonical_url
|
12
|
+
remote = @repo.remotes.find { |x| x.name == "origin" }
|
13
|
+
return if remote.nil?
|
14
|
+
|
15
|
+
ssh?(remote) ? url_for_ssh(remote) : url_for(remote)
|
16
|
+
end
|
17
|
+
|
18
|
+
class << self
|
19
|
+
def current
|
20
|
+
@current ||= new(Pathname.pwd)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def ssh?(remote)
|
27
|
+
remote.url.match?(SSH_REGEX)
|
28
|
+
end
|
29
|
+
|
30
|
+
def url_for_ssh(remote)
|
31
|
+
match = remote.url.match(SSH_REGEX)
|
32
|
+
[
|
33
|
+
"https:/",
|
34
|
+
match[:host],
|
35
|
+
match[:account],
|
36
|
+
match[:repo],
|
37
|
+
@repo.head.name
|
38
|
+
].join("/")
|
39
|
+
end
|
40
|
+
|
41
|
+
def url_for(remote)
|
42
|
+
uri = URI.parse(remote.url)
|
43
|
+
[uri.host, uri.path, @repo.head.name].join("/")
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/jive/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mo khan
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03-
|
11
|
+
date: 2021-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rugged
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.1'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: thor
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,6 +129,7 @@ files:
|
|
115
129
|
- lib/jive/popen.rb
|
116
130
|
- lib/jive/project.rb
|
117
131
|
- lib/jive/pull_request.rb
|
132
|
+
- lib/jive/repo.rb
|
118
133
|
- lib/jive/runner.rb
|
119
134
|
- lib/jive/shell.rb
|
120
135
|
- lib/jive/templates/pull_request_template.md
|