rjgit_grack 0.1.4 → 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 +7 -0
- data/Gemfile +4 -2
- data/README.md +12 -2
- data/lib/rjgit_grack.rb +66 -1
- metadata +15 -24
- data/lib/rjgit_adapter.rb +0 -66
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c120bee899ad48c317673385f483c4bf782f4462
|
4
|
+
data.tar.gz: b3a4605897c893252bede1547f0a27b4d2d88bc7
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 86a8ec1ada212e5b94d9507ac5c4f7fd7f2f4677593492fc8dc6998cd0c90dadad8c3b91b5b53f0fdab3f4d862c4bdac6270c7cb63b1a873315d50ff9fefb6c9
|
7
|
+
data.tar.gz: 776bc8fda334167d6b84f497c49134a7fe0727bbddceb4ba0e436c5cf952972a28b201afd3bdda7ed90f13d3f5e8fb730cf21b51d8a65f3e436e664b7d9beb44
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,18 +1,21 @@
|
|
1
1
|
rjgit_grack
|
2
2
|
===========
|
3
|
+
[](http://badge.fury.io/rb/rjgit_grack)
|
4
|
+
[](https://travis-ci.org/dometto/rjgit_grack)
|
5
|
+
[](https://gemnasium.com/dometto/rjgit_grack)
|
3
6
|
|
4
7
|
Alternative Adapter for [grack](http://github.com/schacon/grack); uses the [RJGit](http://github.com/repotag/rjgit) gem for a pure jruby interface to git repos. Together with Grack, this yields a pure jruby implementation of git's smart-http protocol.
|
5
8
|
|
6
9
|
Installation
|
7
10
|
===========
|
8
11
|
|
9
|
-
|
12
|
+
`gem install rjgit_grack`
|
10
13
|
|
11
14
|
Usage
|
12
15
|
===========
|
13
16
|
|
14
17
|
1. Get grack.
|
15
|
-
2. After requiring
|
18
|
+
2. After requiring `rjgit_grack.rb`, you can tell Grack to use the `RJGitAdapter` by editing its configuration, like so:
|
16
19
|
|
17
20
|
```ruby
|
18
21
|
config = {
|
@@ -22,6 +25,13 @@ config = {
|
|
22
25
|
}
|
23
26
|
```
|
24
27
|
|
28
|
+
Specs
|
29
|
+
======
|
30
|
+
|
31
|
+
Run the specs:
|
32
|
+
|
33
|
+
`rake`
|
34
|
+
|
25
35
|
Dependencies
|
26
36
|
===========
|
27
37
|
|
data/lib/rjgit_grack.rb
CHANGED
@@ -1 +1,66 @@
|
|
1
|
-
require "
|
1
|
+
require "rjgit"
|
2
|
+
|
3
|
+
module Grack
|
4
|
+
|
5
|
+
class RJGitAdapter
|
6
|
+
|
7
|
+
def repo(repository_path)
|
8
|
+
RJGit::Repo.new(repository_path)
|
9
|
+
end
|
10
|
+
|
11
|
+
def service_command(cmd, repository_path, opts = {}, &block)
|
12
|
+
pack = case cmd
|
13
|
+
when :upload_pack
|
14
|
+
RJGit::RJGitUploadPack.new(repo repository_path)
|
15
|
+
when :receive_pack
|
16
|
+
RJGit::RJGitReceivePack.new(repo repository_path)
|
17
|
+
else
|
18
|
+
nil
|
19
|
+
end
|
20
|
+
return nil unless pack
|
21
|
+
if opts[:advertise_refs] then
|
22
|
+
return pack.advertise_refs
|
23
|
+
else
|
24
|
+
msg = opts.has_key?(:msg) ? opts[:msg] : ""
|
25
|
+
result, err = pack.process(msg)
|
26
|
+
if block_given? then
|
27
|
+
yield result
|
28
|
+
else
|
29
|
+
return result.read
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def upload_pack(repository_path, opts = {}, &block)
|
35
|
+
self.service_command(:upload_pack, repository_path, opts, &block)
|
36
|
+
end
|
37
|
+
|
38
|
+
def receive_pack(repository_path, opts = {}, &block)
|
39
|
+
self.service_command(:receive_pack, repository_path, opts, &block)
|
40
|
+
end
|
41
|
+
|
42
|
+
def update_server_info(repository_path, opts = {}, &block)
|
43
|
+
repo(repository_path).update_server_info
|
44
|
+
end
|
45
|
+
|
46
|
+
def get_config_setting(repository_path, key)
|
47
|
+
repository = repo(repository_path)
|
48
|
+
domains = key.split(".")
|
49
|
+
begin
|
50
|
+
loop_settings = repository.config
|
51
|
+
rescue
|
52
|
+
return nil
|
53
|
+
end
|
54
|
+
domains.each do |domain|
|
55
|
+
begin
|
56
|
+
loop_settings = loop_settings[domain]
|
57
|
+
rescue
|
58
|
+
return nil
|
59
|
+
end
|
60
|
+
end
|
61
|
+
return loop_settings.is_a?(Hash) ? loop_settings : loop_settings.to_s
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rjgit_grack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.1.4
|
4
|
+
version: 0.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Dawa Ometto
|
@@ -15,18 +14,14 @@ dependencies:
|
|
15
14
|
name: rjgit
|
16
15
|
version_requirements: !ruby/object:Gem::Requirement
|
17
16
|
requirements:
|
18
|
-
- -
|
17
|
+
- - ~>
|
19
18
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
21
|
-
MA==
|
22
|
-
none: false
|
19
|
+
version: '0.3'
|
23
20
|
requirement: !ruby/object:Gem::Requirement
|
24
21
|
requirements:
|
25
|
-
- -
|
22
|
+
- - ~>
|
26
23
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
28
|
-
MA==
|
29
|
-
none: false
|
24
|
+
version: '0.3'
|
30
25
|
prerelease: false
|
31
26
|
type: :runtime
|
32
27
|
description: Alternative Adapter for grack; uses the RJGit gem for a pure jruby interface to git repos. Together with Grack, this yields a pure jruby implementation of git's smart-http protocol.
|
@@ -35,36 +30,32 @@ executables: []
|
|
35
30
|
extensions: []
|
36
31
|
extra_rdoc_files: []
|
37
32
|
files:
|
38
|
-
- lib/rjgit_grack.rb
|
39
|
-
- lib/rjgit_adapter.rb
|
40
|
-
- README.md
|
41
|
-
- LICENSE
|
42
33
|
- Gemfile
|
34
|
+
- LICENSE
|
35
|
+
- README.md
|
36
|
+
- lib/rjgit_grack.rb
|
43
37
|
homepage: http://github.com/dometto/rjgit_grack
|
44
38
|
licenses:
|
45
39
|
- MIT
|
40
|
+
metadata: {}
|
46
41
|
post_install_message:
|
47
42
|
rdoc_options: []
|
48
43
|
require_paths:
|
49
44
|
- lib
|
50
45
|
required_ruby_version: !ruby/object:Gem::Requirement
|
51
46
|
requirements:
|
52
|
-
- -
|
47
|
+
- - '>='
|
53
48
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
-
MA==
|
56
|
-
none: false
|
49
|
+
version: '0'
|
57
50
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
62
|
-
MA==
|
63
|
-
none: false
|
54
|
+
version: '0'
|
64
55
|
requirements: []
|
65
56
|
rubyforge_project:
|
66
|
-
rubygems_version:
|
57
|
+
rubygems_version: 2.4.5
|
67
58
|
signing_key:
|
68
|
-
specification_version:
|
59
|
+
specification_version: 4
|
69
60
|
summary: Adapts grack (http://github.com/schacon/grack) to use JGit.
|
70
61
|
test_files: []
|
data/lib/rjgit_adapter.rb
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
require "rjgit"
|
2
|
-
|
3
|
-
module Grack
|
4
|
-
|
5
|
-
class RJGitAdapter
|
6
|
-
|
7
|
-
def repo(repository_path)
|
8
|
-
RJGit::Repo.new(repository_path)
|
9
|
-
end
|
10
|
-
|
11
|
-
def service_command(cmd, repository_path, opts = {}, &block)
|
12
|
-
pack = case cmd
|
13
|
-
when :upload_pack
|
14
|
-
RJGit::RJGitUploadPack.new(repo repository_path)
|
15
|
-
when :receive_pack
|
16
|
-
RJGit::RJGitReceivePack.new(repo repository_path)
|
17
|
-
else
|
18
|
-
nil
|
19
|
-
end
|
20
|
-
return nil unless pack
|
21
|
-
if opts[:advertise_refs] then
|
22
|
-
return pack.advertise_refs
|
23
|
-
else
|
24
|
-
msg = opts.has_key?(:msg) ? opts[:msg] : ""
|
25
|
-
result, err = pack.process(msg)
|
26
|
-
if block_given? then
|
27
|
-
yield result
|
28
|
-
else
|
29
|
-
return result.read
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def upload_pack(repository_path, opts = {}, &block)
|
35
|
-
self.service_command(:upload_pack, repository_path, opts, &block)
|
36
|
-
end
|
37
|
-
|
38
|
-
def receive_pack(repository_path, opts = {}, &block)
|
39
|
-
self.service_command(:receive_pack, repository_path, opts, &block)
|
40
|
-
end
|
41
|
-
|
42
|
-
def update_server_info(repository_path, opts = {}, &block)
|
43
|
-
repo(repository_path).update_server_info
|
44
|
-
end
|
45
|
-
|
46
|
-
def get_config_setting(repository_path, key)
|
47
|
-
repository = repo(repository_path)
|
48
|
-
domains = key.split(".")
|
49
|
-
begin
|
50
|
-
loop_settings = repository.config
|
51
|
-
rescue
|
52
|
-
return nil
|
53
|
-
end
|
54
|
-
domains.each do |domain|
|
55
|
-
begin
|
56
|
-
loop_settings = loop_settings[domain]
|
57
|
-
rescue
|
58
|
-
return nil
|
59
|
-
end
|
60
|
-
end
|
61
|
-
return loop_settings.is_a?(Hash) ? loop_settings : loop_settings.to_s
|
62
|
-
end
|
63
|
-
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|