gitable 0.0.2 → 0.0.3
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.
- data/.gitignore +3 -0
- data/Gemfile +16 -10
- data/README.rdoc +12 -7
- data/Rakefile +5 -9
- data/VERSION.yml +1 -1
- data/lib/gitable/scp_uri.rb +33 -12
- data/lib/gitable/uri.rb +50 -17
- data/spec/describe_uri.rb +28 -0
- data/spec/gitable_spec.rb +47 -58
- data/spec/heuristic_parse_spec.rb +40 -0
- data/spec/spec_helper.rb +2 -1
- metadata +22 -10
- data/gitable.gemspec +0 -58
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -1,20 +1,26 @@
|
|
1
|
-
source
|
2
|
-
|
3
|
-
bin_path 'gbin'
|
4
|
-
disable_system_gems
|
1
|
+
source :gemcutter
|
5
2
|
|
6
|
-
|
7
|
-
gem 'addressable', :
|
3
|
+
group :runtime do
|
4
|
+
gem 'addressable', :require => 'addressable/uri'
|
8
5
|
end
|
9
|
-
|
10
|
-
|
6
|
+
|
7
|
+
group :release do
|
11
8
|
gem 'bundler'
|
12
9
|
gem 'jeweler'
|
13
|
-
|
14
|
-
|
10
|
+
end
|
11
|
+
|
12
|
+
group :development do
|
13
|
+
gem 'rspec', :require => 'spec'
|
15
14
|
gem 'ZenTest'
|
16
15
|
gem 'rake'
|
17
16
|
gem 'rcov'
|
18
17
|
gem 'ruby-debug'
|
19
18
|
gem 'yard'
|
19
|
+
gem 'reek'
|
20
|
+
gem 'roodi'
|
21
|
+
end
|
22
|
+
|
23
|
+
group :release do
|
24
|
+
gem 'jeweler'
|
25
|
+
gem 'bundler', '>=0.9.7'
|
20
26
|
end
|
data/README.rdoc
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
= Gitable
|
2
2
|
|
3
|
-
==
|
3
|
+
== Addressable::URI for Git.
|
4
4
|
|
5
|
-
Works with any valid Git URI.
|
5
|
+
Works with any valid Git URI, because Addressable doesn't.
|
6
6
|
|
7
7
|
== Example!?
|
8
8
|
|
@@ -13,13 +13,18 @@ Works with any valid Git URI.
|
|
13
13
|
uri.user # => 'git'
|
14
14
|
uri.host # => 'github.com'
|
15
15
|
|
16
|
+
# Maintain the same url format.
|
16
17
|
uri.to_s # => 'git@github.com:martinemde/gitable.git'
|
18
|
+
|
19
|
+
# If it can't guess the name, you named your repository wrong.
|
17
20
|
uri.project_name # => 'gitable'
|
21
|
+
|
22
|
+
# Inherited from Addressable::URI
|
18
23
|
uri.kind_of?(Addressable::URI) # => true
|
19
24
|
|
20
25
|
== heuristic_parse
|
21
26
|
|
22
|
-
You can use
|
27
|
+
You can use Gitable::URI.heuristic_parse to take user input.
|
23
28
|
|
24
29
|
Currently this supports the mistake of copying the url bar instead of the git
|
25
30
|
uri for a few of the popular git webhosts. It also runs through Addressable's
|
@@ -28,13 +33,13 @@ heuristic_parse so it will correct some poorly typed URIs.
|
|
28
33
|
uri = Gitable::URI.heuristic_parse('http://github.com:martinemde/gitable')
|
29
34
|
uri.to_s # => 'git://github.com/martinemde/gitable.git'
|
30
35
|
|
31
|
-
|
32
|
-
switches
|
33
|
-
github.com and gitorious.org.
|
36
|
+
heuristic_parse is currently very limited. If the url doesn't end in .git, it
|
37
|
+
switches http:// to git:// and adds .git to the basename.
|
38
|
+
This works fine for github.com and gitorious.org but will happily screw up other URIs.
|
34
39
|
|
35
40
|
== That's it?
|
36
41
|
|
37
|
-
|
42
|
+
Yep. What else did you expect? (let me know or write a patch)
|
38
43
|
|
39
44
|
== Copyright
|
40
45
|
|
data/Rakefile
CHANGED
@@ -1,6 +1,5 @@
|
|
1
|
+
require 'rubygems'
|
1
2
|
require 'bundler'
|
2
|
-
Bundler.require_env
|
3
|
-
require 'rake'
|
4
3
|
|
5
4
|
begin
|
6
5
|
require 'jeweler'
|
@@ -12,11 +11,9 @@ begin
|
|
12
11
|
gem.homepage = "http://github.com/martinemde/gitable"
|
13
12
|
gem.authors = ["Martin Emde"]
|
14
13
|
|
15
|
-
bundle = Bundler::
|
16
|
-
bundle.
|
17
|
-
|
18
|
-
gem.add_dependency d.name, d.version.to_s
|
19
|
-
end
|
14
|
+
bundle = Bundler::Definition.from_gemfile('Gemfile')
|
15
|
+
bundle.dependencies.each do |dep|
|
16
|
+
gem.add_dependency(dep.name, dep.requirement.to_s) if dep.groups.include?(:runtime)
|
20
17
|
end
|
21
18
|
end
|
22
19
|
Jeweler::GemcutterTasks.new
|
@@ -34,10 +31,9 @@ Spec::Rake::SpecTask.new(:rcov) do |spec|
|
|
34
31
|
spec.libs << 'lib' << 'spec'
|
35
32
|
spec.pattern = 'spec/**/*_spec.rb'
|
36
33
|
spec.rcov = true
|
34
|
+
spec.rcov_opts << '--exclude' << 'spec,vendor,Library'
|
37
35
|
end
|
38
36
|
|
39
|
-
task :spec => :check_dependencies
|
40
|
-
|
41
37
|
begin
|
42
38
|
require 'reek/adapters/rake_task'
|
43
39
|
Reek::RakeTask.new do |t|
|
data/VERSION.yml
CHANGED
data/lib/gitable/scp_uri.rb
CHANGED
@@ -3,7 +3,7 @@ require 'gitable/uri'
|
|
3
3
|
module Gitable
|
4
4
|
class ScpURI < Gitable::URI
|
5
5
|
|
6
|
-
# Keep URIs like this
|
6
|
+
# Keep URIs like this as they were input:
|
7
7
|
#
|
8
8
|
# git@github.com:martinemde/gitable.git
|
9
9
|
#
|
@@ -15,23 +15,44 @@ module Gitable
|
|
15
15
|
# @return [String] The same path passed in.
|
16
16
|
def path=(new_path)
|
17
17
|
super
|
18
|
-
if new_path[0
|
19
|
-
|
20
|
-
end
|
21
|
-
path
|
18
|
+
@path = path.sub(%r|^/|,'') if new_path[0] != ?/
|
19
|
+
@path
|
22
20
|
end
|
23
21
|
|
24
22
|
# Get the URI as a string in the same form it was input.
|
25
23
|
#
|
24
|
+
# Taken from Addressable::URI.
|
25
|
+
#
|
26
26
|
# @return [String] The URI as a string.
|
27
27
|
def to_s
|
28
|
-
@uri_string ||=
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
28
|
+
@uri_string ||=
|
29
|
+
begin
|
30
|
+
uri_string = "#{authority}:#{path}"
|
31
|
+
if uri_string.respond_to?(:force_encoding)
|
32
|
+
uri_string.force_encoding(Encoding::UTF_8)
|
33
|
+
end
|
34
|
+
uri_string
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
protected
|
39
|
+
|
40
|
+
def validate
|
41
|
+
return if !!@validation_deferred
|
42
|
+
if scheme != nil &&
|
43
|
+
(host == nil || host == "") &&
|
44
|
+
(path == nil || path == "")
|
45
|
+
raise InvalidURIError,
|
46
|
+
"Absolute URI missing hierarchical segment: '#{to_s}'"
|
47
|
+
end
|
48
|
+
if host == nil
|
49
|
+
if port != nil ||
|
50
|
+
user != nil ||
|
51
|
+
password != nil
|
52
|
+
raise InvalidURIError, "Hostname not supplied: '#{to_s}'"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
return nil
|
35
56
|
end
|
36
57
|
end
|
37
58
|
end
|
data/lib/gitable/uri.rb
CHANGED
@@ -5,7 +5,7 @@ module Gitable
|
|
5
5
|
SCP_URI_REGEXP = %r|^([^:/?#]+):([^?#]*)$|
|
6
6
|
|
7
7
|
##
|
8
|
-
# Parse a git repository
|
8
|
+
# Parse a git repository URI into a URI object.
|
9
9
|
#
|
10
10
|
# @param [Addressable::URI, #to_str] uri URI of a git repository.
|
11
11
|
#
|
@@ -18,11 +18,9 @@ module Gitable
|
|
18
18
|
return uri if uri.nil? || uri.kind_of?(self)
|
19
19
|
|
20
20
|
# addressable::URI.parse always returns an instance of Addressable::URI.
|
21
|
-
add = super # >:(
|
21
|
+
add = super # >:( at inconsistency
|
22
22
|
|
23
|
-
|
24
|
-
fragments = scan[0]
|
25
|
-
authority = fragments && fragments[0]
|
23
|
+
authority = uri.scan(SCP_URI_REGEXP).flatten.first
|
26
24
|
|
27
25
|
if add.host.nil? && authority
|
28
26
|
Gitable::ScpURI.new(
|
@@ -35,9 +33,9 @@ module Gitable
|
|
35
33
|
end
|
36
34
|
|
37
35
|
##
|
38
|
-
# Attempts to make a copied
|
39
|
-
#
|
40
|
-
# First line of defense is for
|
36
|
+
# Attempts to make a copied URL bar into a git repository URI.
|
37
|
+
#
|
38
|
+
# First line of defense is for URIs without .git as a basename:
|
41
39
|
# * Change the scheme from http:// to git://
|
42
40
|
# * Add .git to the basename
|
43
41
|
#
|
@@ -51,15 +49,12 @@ module Gitable
|
|
51
49
|
def self.heuristic_parse(uri)
|
52
50
|
return uri if uri.nil? || uri.kind_of?(self)
|
53
51
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
rpath = add.path.reverse
|
61
|
-
rbase = add.basename.reverse
|
62
|
-
add.path = rpath.sub(%r|#{Regexp.escape(rbase)}|,"tig."+rbase).reverse
|
52
|
+
# Addressable::URI.heuristic_parse _does_ return the correct type :)
|
53
|
+
add = super # boo inconsistency
|
54
|
+
|
55
|
+
if add.extname != ".git"
|
56
|
+
add.extname = "git"
|
57
|
+
add.scheme = "git" if add.scheme == "http"
|
63
58
|
end
|
64
59
|
add
|
65
60
|
end
|
@@ -71,5 +66,43 @@ module Gitable
|
|
71
66
|
def project_name
|
72
67
|
basename.sub(/\.git$/,'')
|
73
68
|
end
|
69
|
+
|
70
|
+
# Set an extension name, replacing one if it exists.
|
71
|
+
#
|
72
|
+
# If there is no basename (i.e. no words in the path) this method call will
|
73
|
+
# be ignored because it is likely to break the uri.
|
74
|
+
#
|
75
|
+
# @param [String] New extension name
|
76
|
+
# @return [String] extname result
|
77
|
+
def extname=(ext)
|
78
|
+
base = basename
|
79
|
+
return nil if base.nil? || base == ""
|
80
|
+
self.basename = "#{base}.#{ext.sub(/^\.+/,'')}"
|
81
|
+
extname
|
82
|
+
end
|
83
|
+
|
84
|
+
# Addressable does basename wrong with there's no basename.
|
85
|
+
# It returns "/" for something like "http://host.com/"
|
86
|
+
def basename
|
87
|
+
base = super
|
88
|
+
return "" if base == "/"
|
89
|
+
base
|
90
|
+
end
|
91
|
+
|
92
|
+
# Set the basename, replacing it if it exists.
|
93
|
+
#
|
94
|
+
# @param [String] New basename
|
95
|
+
# @return [String] basename result
|
96
|
+
def basename=(new_basename)
|
97
|
+
base = basename
|
98
|
+
if base.nil? || base == ""
|
99
|
+
self.path += new_basename
|
100
|
+
else
|
101
|
+
rpath = path.reverse
|
102
|
+
# replace the last occurrence of the basename with basename.ext
|
103
|
+
self.path = rpath.sub(%r|#{Regexp.escape(base.reverse)}|, new_basename.reverse).reverse
|
104
|
+
end
|
105
|
+
basename
|
106
|
+
end
|
74
107
|
end
|
75
108
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module DescribeURI
|
2
|
+
def describe_uri(uri, &block)
|
3
|
+
describe "with uri: #{uri.inspect}" do
|
4
|
+
before { @uri = uri }
|
5
|
+
subject { Gitable::URI.parse(@uri) }
|
6
|
+
URIChecker.new(self, &block)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
class URIChecker
|
11
|
+
def initialize(example_group, &block)
|
12
|
+
@example_group = example_group
|
13
|
+
instance_eval(&block)
|
14
|
+
end
|
15
|
+
|
16
|
+
def it_sets(parts)
|
17
|
+
parts.each do |part, value|
|
18
|
+
it "sets #{part} to #{value.inspect}" do
|
19
|
+
subject.send(part).should == value
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def method_missing(*args, &block)
|
25
|
+
@example_group.send(*args, &block)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/spec/gitable_spec.rb
CHANGED
@@ -5,30 +5,36 @@ describe Gitable::URI do
|
|
5
5
|
@uri = "ssh://git@github.com/martinemde/gitable.git"
|
6
6
|
end
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
subject
|
12
|
-
|
8
|
+
describe_uri "git://github.com/martinemde/gitable" do
|
9
|
+
it "sets a new extname" do
|
10
|
+
subject.extname.should == ""
|
11
|
+
subject.extname = "git"
|
12
|
+
subject.extname.should == ".git"
|
13
|
+
subject.to_s.should == @uri + ".git"
|
13
14
|
end
|
14
|
-
end
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
it "sets a new basename" do
|
17
|
+
subject.basename.should == "gitable"
|
18
|
+
subject.basename = "gitable.git"
|
19
|
+
subject.basename.should == "gitable.git"
|
20
|
+
subject.extname.should == ".git"
|
20
21
|
end
|
22
|
+
end
|
21
23
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
describe_uri "git://github.com/" do
|
25
|
+
it "does not set a new extname" do
|
26
|
+
subject.extname.should == ""
|
27
|
+
subject.extname = "git"
|
28
|
+
subject.extname.should == ""
|
29
|
+
subject.to_s.should == @uri
|
28
30
|
end
|
29
31
|
|
30
|
-
|
31
|
-
|
32
|
+
it "sets a new basename" do
|
33
|
+
subject.basename.should == ""
|
34
|
+
subject.basename = "gitable.git"
|
35
|
+
subject.basename.should == "gitable.git"
|
36
|
+
subject.extname.should == ".git"
|
37
|
+
subject.to_s.should == @uri + "gitable.git"
|
32
38
|
end
|
33
39
|
end
|
34
40
|
|
@@ -57,17 +63,6 @@ describe Gitable::URI do
|
|
57
63
|
# /path/to/repo.git/
|
58
64
|
# file:///path/to/repo.git/
|
59
65
|
#
|
60
|
-
expected = {
|
61
|
-
:user => nil,
|
62
|
-
:password => nil,
|
63
|
-
:host => "host.xz",
|
64
|
-
:port => nil,
|
65
|
-
:path => "/path/to/repo.git/",
|
66
|
-
:basename => "repo.git",
|
67
|
-
:query => nil,
|
68
|
-
:fragment => nil,
|
69
|
-
:project_name => "repo"
|
70
|
-
}
|
71
66
|
|
72
67
|
describe ".parse" do
|
73
68
|
it "returns a Gitable::URI" do
|
@@ -89,12 +84,31 @@ describe Gitable::URI do
|
|
89
84
|
}.should raise_error(TypeError)
|
90
85
|
end
|
91
86
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
87
|
+
context "(bad uris)" do
|
88
|
+
[
|
89
|
+
"http://",
|
90
|
+
"blah:"
|
91
|
+
].each do |uri|
|
92
|
+
it "raises an Gitable::URI::InvalidURIError with #{uri.inspect}" do
|
93
|
+
lambda {
|
94
|
+
Gitable::URI.parse(uri)
|
95
|
+
}.should raise_error(Gitable::URI::InvalidURIError)
|
96
|
+
end
|
97
|
+
end
|
96
98
|
end
|
97
99
|
|
100
|
+
expected = {
|
101
|
+
:user => nil,
|
102
|
+
:password => nil,
|
103
|
+
:host => "host.xz",
|
104
|
+
:port => nil,
|
105
|
+
:path => "/path/to/repo.git/",
|
106
|
+
:basename => "repo.git",
|
107
|
+
:query => nil,
|
108
|
+
:fragment => nil,
|
109
|
+
:project_name => "repo"
|
110
|
+
}
|
111
|
+
|
98
112
|
describe_uri "rsync://host.xz/path/to/repo.git/" do
|
99
113
|
it { subject.to_s.should == @uri }
|
100
114
|
it_sets expected.merge({
|
@@ -399,29 +413,4 @@ describe Gitable::URI do
|
|
399
413
|
})
|
400
414
|
end
|
401
415
|
end
|
402
|
-
|
403
|
-
describe ".heuristic_parse" do
|
404
|
-
it "returns a Gitable::URI" do
|
405
|
-
uri = "http://github.com/martinemde/gitable"
|
406
|
-
Gitable::URI.heuristic_parse(uri).should be_a_kind_of(Gitable::URI)
|
407
|
-
end
|
408
|
-
|
409
|
-
it "guesses git://github.com/martinemde/gitable.git if I pass in the url bar" do
|
410
|
-
uri = "http://github.com/martinemde/gitable"
|
411
|
-
gitable = Gitable::URI.heuristic_parse(uri)
|
412
|
-
gitable.to_s.should == "git://github.com/martinemde/gitable.git"
|
413
|
-
end
|
414
|
-
|
415
|
-
it "isn't upset by trailing slashes" do
|
416
|
-
uri = "http://github.com/martinemde/gitable/"
|
417
|
-
gitable = Gitable::URI.heuristic_parse(uri)
|
418
|
-
gitable.to_s.should == "git://github.com/martinemde/gitable.git/"
|
419
|
-
end
|
420
|
-
|
421
|
-
it "handles URIs with the name of the project in the path twice" do
|
422
|
-
uri = "http://gitorious.org/project/project"
|
423
|
-
gitable = Gitable::URI.heuristic_parse(uri)
|
424
|
-
gitable.to_s.should == "git://gitorious.org/project/project.git"
|
425
|
-
end
|
426
|
-
end
|
427
416
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe Gitable::URI, ".heuristic_parse" do
|
4
|
+
it "returns a Gitable::URI" do
|
5
|
+
uri = "http://github.com/martinemde/gitable"
|
6
|
+
Gitable::URI.heuristic_parse(uri).should be_a_kind_of(Gitable::URI)
|
7
|
+
end
|
8
|
+
|
9
|
+
[
|
10
|
+
"http://host.xz/path/to/repo.git/",
|
11
|
+
"http://host.xz/path/to/repo.git",
|
12
|
+
"ssh://user@host.xz/path/to/repo.git/",
|
13
|
+
"ssh://user@host.xz:1234/path/to/repo.git/",
|
14
|
+
"user@host.xz:path/to/repo.git",
|
15
|
+
"user@host.xz:path/to/repo.git/",
|
16
|
+
"git@github.com:martinemde/gitable.git",
|
17
|
+
].each do |uri|
|
18
|
+
it "doesn't break the already valid URI: #{uri.inspect}" do
|
19
|
+
Gitable::URI.heuristic_parse(uri).to_s.should == uri
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
it "guesses git://github.com/martinemde/gitable.git if I pass in the url bar" do
|
24
|
+
uri = "http://github.com/martinemde/gitable"
|
25
|
+
gitable = Gitable::URI.heuristic_parse(uri)
|
26
|
+
gitable.to_s.should == "git://github.com/martinemde/gitable.git"
|
27
|
+
end
|
28
|
+
|
29
|
+
it "isn't upset by trailing slashes" do
|
30
|
+
uri = "http://github.com/martinemde/gitable/"
|
31
|
+
gitable = Gitable::URI.heuristic_parse(uri)
|
32
|
+
gitable.to_s.should == "git://github.com/martinemde/gitable.git/"
|
33
|
+
end
|
34
|
+
|
35
|
+
it "handles URIs with the name of the project in the path twice" do
|
36
|
+
uri = "http://gitorious.org/project/project"
|
37
|
+
gitable = Gitable::URI.heuristic_parse(uri)
|
38
|
+
gitable.to_s.should == "git://gitorious.org/project/project.git"
|
39
|
+
end
|
40
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
version: 0.0.3
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Martin Emde
|
@@ -9,19 +14,21 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-04-27 00:00:00 -07:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
|
-
name: addressable
|
17
21
|
type: :runtime
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
20
23
|
requirements:
|
21
24
|
- - ">="
|
22
25
|
- !ruby/object:Gem::Version
|
26
|
+
segments:
|
27
|
+
- 0
|
23
28
|
version: "0"
|
24
|
-
|
29
|
+
requirement: *id001
|
30
|
+
name: addressable
|
31
|
+
prerelease: false
|
25
32
|
description: It's like Addressable::URI but for Git. Gitable.
|
26
33
|
email: martin.emde@gmail.com
|
27
34
|
executables: []
|
@@ -39,11 +46,12 @@ files:
|
|
39
46
|
- README.rdoc
|
40
47
|
- Rakefile
|
41
48
|
- VERSION.yml
|
42
|
-
- gitable.gemspec
|
43
49
|
- lib/gitable.rb
|
44
50
|
- lib/gitable/scp_uri.rb
|
45
51
|
- lib/gitable/uri.rb
|
52
|
+
- spec/describe_uri.rb
|
46
53
|
- spec/gitable_spec.rb
|
54
|
+
- spec/heuristic_parse_spec.rb
|
47
55
|
- spec/spec.opts
|
48
56
|
- spec/spec_helper.rb
|
49
57
|
has_rdoc: true
|
@@ -59,21 +67,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
59
67
|
requirements:
|
60
68
|
- - ">="
|
61
69
|
- !ruby/object:Gem::Version
|
70
|
+
segments:
|
71
|
+
- 0
|
62
72
|
version: "0"
|
63
|
-
version:
|
64
73
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
65
74
|
requirements:
|
66
75
|
- - ">="
|
67
76
|
- !ruby/object:Gem::Version
|
77
|
+
segments:
|
78
|
+
- 0
|
68
79
|
version: "0"
|
69
|
-
version:
|
70
80
|
requirements: []
|
71
81
|
|
72
82
|
rubyforge_project:
|
73
|
-
rubygems_version: 1.3.
|
83
|
+
rubygems_version: 1.3.6
|
74
84
|
signing_key:
|
75
85
|
specification_version: 3
|
76
86
|
summary: Addressable::URI for Git
|
77
87
|
test_files:
|
88
|
+
- spec/describe_uri.rb
|
78
89
|
- spec/gitable_spec.rb
|
90
|
+
- spec/heuristic_parse_spec.rb
|
79
91
|
- spec/spec_helper.rb
|
data/gitable.gemspec
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
-
# -*- encoding: utf-8 -*-
|
5
|
-
|
6
|
-
Gem::Specification.new do |s|
|
7
|
-
s.name = %q{gitable}
|
8
|
-
s.version = "0.0.2"
|
9
|
-
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Martin Emde"]
|
12
|
-
s.date = %q{2010-01-14}
|
13
|
-
s.description = %q{It's like Addressable::URI but for Git. Gitable.}
|
14
|
-
s.email = %q{martin.emde@gmail.com}
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE",
|
17
|
-
"README.rdoc"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
".document",
|
21
|
-
".gitignore",
|
22
|
-
"Gemfile",
|
23
|
-
"LICENSE",
|
24
|
-
"README.rdoc",
|
25
|
-
"Rakefile",
|
26
|
-
"VERSION.yml",
|
27
|
-
"gitable.gemspec",
|
28
|
-
"lib/gitable.rb",
|
29
|
-
"lib/gitable/scp_uri.rb",
|
30
|
-
"lib/gitable/uri.rb",
|
31
|
-
"spec/gitable_spec.rb",
|
32
|
-
"spec/spec.opts",
|
33
|
-
"spec/spec_helper.rb"
|
34
|
-
]
|
35
|
-
s.homepage = %q{http://github.com/martinemde/gitable}
|
36
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
37
|
-
s.require_paths = ["lib"]
|
38
|
-
s.rubygems_version = %q{1.3.5}
|
39
|
-
s.summary = %q{Addressable::URI for Git}
|
40
|
-
s.test_files = [
|
41
|
-
"spec/gitable_spec.rb",
|
42
|
-
"spec/spec_helper.rb"
|
43
|
-
]
|
44
|
-
|
45
|
-
if s.respond_to? :specification_version then
|
46
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
47
|
-
s.specification_version = 3
|
48
|
-
|
49
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
50
|
-
s.add_runtime_dependency(%q<addressable>, [">= 0"])
|
51
|
-
else
|
52
|
-
s.add_dependency(%q<addressable>, [">= 0"])
|
53
|
-
end
|
54
|
-
else
|
55
|
-
s.add_dependency(%q<addressable>, [">= 0"])
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|