gitable 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -21,5 +21,8 @@ rdoc
21
21
  pkg
22
22
  vendor/gems
23
23
  .yardoc
24
+ .bundle
25
+ Gemfile.lock
24
26
 
25
27
  ## PROJECT::SPECIFIC
28
+ gitable.gemspec
data/Gemfile CHANGED
@@ -1,20 +1,26 @@
1
- source 'http://gemcutter.org'
2
-
3
- bin_path 'gbin'
4
- disable_system_gems
1
+ source :gemcutter
5
2
 
6
- only :runtime do
7
- gem 'addressable', :require_as => 'addressable/uri'
3
+ group :runtime do
4
+ gem 'addressable', :require => 'addressable/uri'
8
5
  end
9
-
10
- only :development do
6
+
7
+ group :release do
11
8
  gem 'bundler'
12
9
  gem 'jeweler'
13
- gem 'bundler'
14
- gem 'rspec', :require_as => 'spec'
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
@@ -1,8 +1,8 @@
1
1
  = Gitable
2
2
 
3
- == +Addressable::URI+ for Git.
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 +Gitable::URI.heuristic_parse+ to take user input.
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
- Heuristic parse is currently fairly limited. If the url doesn't end in .git, it
32
- switches +http://+ to +git://+ and adds .git to the basename. This works fine for
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
- yep. What else did you expect? (let me know or write a patch)
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::Bundle.load(File.dirname(__FILE__) + '/Gemfile')
16
- bundle.environment.dependencies.each do |d|
17
- if d.only && d.only.include?('runtime')
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|
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 0
4
- :patch: 2
4
+ :patch: 3
5
5
 
@@ -3,7 +3,7 @@ require 'gitable/uri'
3
3
  module Gitable
4
4
  class ScpURI < Gitable::URI
5
5
 
6
- # Keep URIs like this relative:
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..0] != "/"
19
- @path = path.sub(%r|^/|,'')
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 ||= begin
29
- uri_string = "#{authority}:#{path.to_s}"
30
- if uri_string.respond_to?(:force_encoding)
31
- uri_string.force_encoding(Encoding::UTF_8)
32
- end
33
- uri_string
34
- end
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
@@ -5,7 +5,7 @@ module Gitable
5
5
  SCP_URI_REGEXP = %r|^([^:/?#]+):([^?#]*)$|
6
6
 
7
7
  ##
8
- # Parse a git repository uri into a URI object.
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
- scan = uri.scan(SCP_URI_REGEXP)
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 url bar into a git repo uri
39
- #
40
- # First line of defense is for urls without .git as a basename:
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
- add = super
55
- return add if add.extname == "git"
56
- add.scheme = "git" if add.scheme == "http"
57
- unless add.basename.nil?
58
- # replace the last occurance of the basename with basename.git
59
- # please tell me if there's a better way (besides rindex/slice/insert)
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
@@ -5,30 +5,36 @@ describe Gitable::URI do
5
5
  @uri = "ssh://git@github.com/martinemde/gitable.git"
6
6
  end
7
7
 
8
- def self.describe_uri(uri, &block)
9
- describe "with uri: #{uri.inspect}" do
10
- before { @uri = uri }
11
- subject { Gitable::URI.parse(@uri) }
12
- URIChecker.new(self, &block)
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
- class URIChecker
17
- def initialize(example_group, &block)
18
- @example_group = example_group
19
- instance_eval(&block)
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
- def it_sets(parts)
23
- parts.each do |part, value|
24
- it "sets #{part} to #{value.inspect}" do
25
- subject.send(part).should == value
26
- end
27
- end
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
- def method_missing(*args, &block)
31
- @example_group.send(*args, &block)
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
- it "raises an Gitable::URI::InvalidURIError on a bad uri" do
93
- lambda {
94
- Gitable::URI.parse("http://")
95
- }.should raise_error(Gitable::URI::InvalidURIError)
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
@@ -3,7 +3,8 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
  require 'gitable'
4
4
  require 'spec'
5
5
  require 'spec/autorun'
6
+ require File.join(File.dirname(__FILE__), 'describe_uri')
6
7
 
7
8
  Spec::Runner.configure do |config|
8
-
9
+ config.extend DescribeURI
9
10
  end
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
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-01-14 00:00:00 -08:00
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
- version_requirement:
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
- version:
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.5
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
@@ -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
-