stickler 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +15 -0
  2. data/CONTRIBUTING.md +5 -4
  3. data/HISTORY.md +16 -9
  4. data/LICENSE +1 -1
  5. data/Manifest.txt +34 -20
  6. data/README.md +128 -0
  7. data/Rakefile +10 -9
  8. data/bin/stickler +9 -6
  9. data/bin/stickler-passenger-config +8 -8
  10. data/bin/stickler-server +12 -12
  11. data/examples/as_middleware.ru +14 -0
  12. data/examples/auth_repo.ru +1 -1
  13. data/examples/gemcutter_repo.ru +1 -1
  14. data/examples/local_repo.ru +1 -1
  15. data/lib/stickler.rb +3 -1
  16. data/lib/stickler/client.rb +2 -1
  17. data/lib/stickler/client/delete.rb +1 -1
  18. data/lib/stickler/client/latest-version.rb +40 -0
  19. data/lib/stickler/client/mirror.rb +47 -15
  20. data/lib/stickler/client/push.rb +1 -1
  21. data/lib/stickler/client/unyank.rb +1 -1
  22. data/lib/stickler/client/yank.rb +1 -1
  23. data/lib/stickler/gem_container.rb +40 -0
  24. data/lib/stickler/gemfile_lock_parser.rb +47 -0
  25. data/lib/stickler/middleware.rb +1 -0
  26. data/lib/stickler/middleware/server.rb +37 -0
  27. data/lib/stickler/repository/api.rb +16 -0
  28. data/lib/stickler/repository/index.rb +0 -3
  29. data/lib/stickler/repository/local.rb +6 -8
  30. data/lib/stickler/repository/remote.rb +29 -7
  31. data/lib/stickler/server.rb +2 -6
  32. data/man/stickler-passenger-config.1 +2 -22
  33. data/man/stickler-server.1 +9 -99
  34. data/man/stickler.1 +15 -173
  35. data/man/stickler.1.ronn +6 -0
  36. data/tasks/default.rake +16 -18
  37. data/tasks/man.rake +7 -0
  38. data/tasks/this.rb +5 -5
  39. data/test/data/Gemfile.lock.example +56 -0
  40. data/{spec → test}/data/gemcutter/gems/foo-1.0.0.gem +0 -0
  41. data/{spec → test}/data/gems/bar-1.0.0.gem +0 -0
  42. data/{spec → test}/data/gems/baz-3.1.4-java.gem +0 -0
  43. data/{spec → test}/data/gems/baz-3.1.4.gem +0 -0
  44. data/{spec → test}/data/gems/foo-1.0.0.gem +0 -0
  45. data/{spec → test}/data/gems/foo-2.0.0a.gem +0 -0
  46. data/test/data/specifications/bar-1.0.0.gemspec +31 -0
  47. data/test/data/specifications/baz-3.1.4-java.gemspec +32 -0
  48. data/test/data/specifications/baz-3.1.4.gemspec +31 -0
  49. data/test/data/specifications/foo-1.0.0.gemspec +31 -0
  50. data/test/data/specifications/foo-2.0.0a.gemspec +32 -0
  51. data/test/index_test_helpers.rb +75 -0
  52. data/test/middleware/test_local.rb +75 -0
  53. data/test/middleware/test_not_found.rb +26 -0
  54. data/test/repository/test_api.rb +49 -0
  55. data/test/repository/test_api_behavior.rb +208 -0
  56. data/test/repository/test_index.rb +48 -0
  57. data/test/repository/test_local.rb +59 -0
  58. data/test/repository/test_null.rb +15 -0
  59. data/test/repository/test_remote.rb +26 -0
  60. data/test/repository/test_remote_authenticated.rb +39 -0
  61. data/test/stickler_test_server.rb +35 -0
  62. data/test/test_gemfile_lock_parser.rb +28 -0
  63. data/test/test_paths.rb +22 -0
  64. data/test/test_spec_lite.rb +90 -0
  65. data/test/test_stickler.rb +49 -0
  66. metadata +58 -85
  67. data/README.rdoc +0 -156
  68. data/spec/index_spec_helpers.rb +0 -73
  69. data/spec/middleware/local_spec.rb +0 -72
  70. data/spec/middleware/not_found_spec.rb +0 -25
  71. data/spec/paths_spec.rb +0 -11
  72. data/spec/repository/api_behavior.rb +0 -192
  73. data/spec/repository/api_spec.rb +0 -37
  74. data/spec/repository/index_spec.rb +0 -46
  75. data/spec/repository/local_spec.rb +0 -49
  76. data/spec/repository/null_spec.rb +0 -14
  77. data/spec/repository/remote_spec.rb +0 -86
  78. data/spec/spec.opts +0 -2
  79. data/spec/spec_helper.rb +0 -24
  80. data/spec/spec_lite_spec.rb +0 -96
@@ -0,0 +1,15 @@
1
+ require 'test_stickler'
2
+ require 'repository/test_api'
3
+
4
+ module Stickler
5
+ class NullRepoistoryTest < Test
6
+ include RepositoryApiTests
7
+ def repo
8
+ @repo ||= ::Stickler::Repository::Null.new
9
+ end
10
+
11
+ def test_null_root_dir_is_class_name
12
+ assert_equal "Stickler::Repository::Null", repo.root_dir
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,26 @@
1
+ require 'test_stickler'
2
+ require 'stickler_test_server'
3
+ require 'repository/test_api_behavior'
4
+
5
+ module Stickler
6
+ class RemoteRepositoryTest < Test
7
+ include RepositoryApiBehaviorTests
8
+
9
+ attr_reader :repo
10
+
11
+ def setup
12
+ super
13
+ @repo_uri = "http://localhost:6789/"
14
+ @repo = ::Stickler::Repository::Remote.new( @repo_uri, :debug => true )
15
+ @server = SticklerTestServer.new( test_dir, "gemcutter_repo.ru" )
16
+ @server.start
17
+ end
18
+
19
+ def teardown
20
+ super
21
+ @server.stop
22
+ end
23
+ end
24
+
25
+ end
26
+
@@ -0,0 +1,39 @@
1
+ require 'test_stickler'
2
+ require 'stickler_test_server'
3
+ require 'repository/test_api_behavior'
4
+
5
+ module Stickler
6
+ class AuthenticatedRemoteRepositoryTest < Test
7
+ include RepositoryApiBehaviorTests
8
+
9
+ attr_reader :repo
10
+
11
+ def setup
12
+ super
13
+ @repo_uri = "http://stickler:secret@localhost:6789/"
14
+ @repo = ::Stickler::Repository::Remote.new( @repo_uri )
15
+ @server = SticklerTestServer.new( test_dir , "auth_repo.ru" )
16
+ @server.start
17
+ end
18
+
19
+ def teardown
20
+ super
21
+ @server.stop
22
+ end
23
+
24
+ def test_raising_authentication_denied
25
+ repo = ::Stickler::Repository::Remote.new( "http://localhost:6789/")
26
+ assert_raises( ::Stickler::Repository::Error ) do
27
+ repo.get( @foo_spec )
28
+ end
29
+ end
30
+
31
+ def test_authenticates_a_connection
32
+ repo.push( @foo_gem_local_path )
33
+ data = repo.get( @foo_spec )
34
+ sha1 = Digest::SHA1.hexdigest( data )
35
+ assert_equal @foo_digest, sha1
36
+ end
37
+ end
38
+ end
39
+
@@ -0,0 +1,35 @@
1
+ class SticklerTestServer
2
+ def initialize( test_dir, ru_file )
3
+ @test_dir = test_dir
4
+ @repo_uri = "http://localhost:6789/"
5
+ @tmp_dir = File.join( @test_dir , "tmp" )
6
+ FileUtils.mkdir_p( @tmp_dir )
7
+
8
+ @pid_file = File.join( @tmp_dir , "rack.pid" )
9
+ @ru_file = File.expand_path( File.join( @test_dir , "..", "examples", ru_file ) )
10
+ @cmd = "rackup --port 6789 --pid #{@pid_file} --daemonize #{@ru_file}"
11
+ end
12
+
13
+ def start
14
+ system @cmd
15
+ tries = 0
16
+ loop do
17
+ begin
18
+ Excon.get( @repo_uri + "specs.#{Gem.marshal_version}.gz" )
19
+ #puts "rackup started with pid #{IO.read( @pid_file )}"
20
+ break
21
+ rescue
22
+ tries += 1
23
+ sleep tries * 0.1
24
+ end
25
+ end
26
+ end
27
+
28
+ def stop
29
+ pid = IO.read( @pid_file ).to_i
30
+ Process.kill( 'KILL', pid )
31
+ #FileUtils.rm_rf( @tmp_dir, :verbose => true )
32
+ FileUtils.rm_rf( @tmp_dir )
33
+ end
34
+ end
35
+
@@ -0,0 +1,28 @@
1
+ require 'test_stickler'
2
+ require 'stickler/gemfile_lock_parser'
3
+
4
+ module Stickler
5
+ class TestGemfileLockParser < Test
6
+ def setup
7
+ @lockfile = File.join( test_dir, 'data', 'Gemfile.lock.example' )
8
+ @parser = ::Stickler::GemfileLockParser.new( @lockfile )
9
+ end
10
+
11
+ def test_raises_exception_when_file_does_not_exist
12
+ assert_raises( ::Stickler::Error ) {
13
+ ::Stickler::GemfileLockParser.new( File.join( test_dir, 'data', "Gemfile.dne" ) )
14
+ }
15
+ end
16
+
17
+ def test_parse_gem_dependencies
18
+ names = %w[ addressable builder excon hpricot json little-plugger logging
19
+ minitest multi_json mustache rack rack-protection rack-test rake
20
+ rdiscount rdoc ronn sinatra tilt trollop ]
21
+ names.each do |n|
22
+ assert @parser.depends_on?( n ), "fails to depend on #{n}"
23
+ end
24
+
25
+ assert_equal names.size, @parser.gem_dependencies.size
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ require 'test_stickler'
2
+ require 'pathname'
3
+
4
+ module Stickler
5
+ class TestPaths < Test
6
+ def setup
7
+ @root_path = Pathname.new( __FILE__ ).dirname.parent.expand_path
8
+ end
9
+
10
+ def add_trailing_separator( x )
11
+ x.to_s + ::File::SEPARATOR
12
+ end
13
+
14
+ def test_accessing_the_root_dir_of_the_project
15
+ assert_equal( add_trailing_separator( @root_path ), Stickler::Paths.root_dir )
16
+ end
17
+
18
+ def test_accessing_the_lib_dir_of_the_project
19
+ assert_equal( add_trailing_separator( @root_path.join('lib')), Stickler::Paths.lib_path )
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,90 @@
1
+ require 'test_stickler'
2
+
3
+ module Stickler
4
+ class TestSpecLite < Test
5
+ def setup
6
+ @specs = {
7
+ :ruby => Stickler::SpecLite.new( 'foo', '0.4.2' ),
8
+ :win => Stickler::SpecLite.new( 'bar', '1.0.1', "x86-mswin32" ),
9
+ :java => Stickler::SpecLite.new( 'jfoo', '0.4.2', 'jruby' )
10
+ }
11
+ end
12
+
13
+ def test_defaults_to_ruby_platform
14
+ assert_equal Gem::Platform::RUBY, @specs[:ruby].platform
15
+ end
16
+
17
+ def test_platform_methods
18
+ { [:ruby, 'file_name'] => "foo-0.4.2.gem",
19
+ [:ruby, 'spec_file_name'] => "foo-0.4.2.gemspec" ,
20
+ [:win , 'file_name'] => "bar-1.0.1-x86-mswin32.gem",
21
+ [:win , 'spec_file_name'] => "bar-1.0.1-x86-mswin32.gemspec",
22
+ [:java, 'file_name'] => 'jfoo-0.4.2-jruby.gem',
23
+ [:java, 'spec_file_name'] => 'jfoo-0.4.2-jruby.gemspec',
24
+ }.each do |params, result|
25
+ platform, method = *params
26
+ assert_equal result, @specs[platform].send(method), "on a #{platform} gem #{method} is #{result}"
27
+ end
28
+ end
29
+
30
+ def test_array_format
31
+ assert_equal [ 'bar', '1.0.1', 'x86-mswin32' ], @specs[:win].to_a
32
+ end
33
+
34
+ def test_returns_false_when_not_similar
35
+ refute_match @specs[:ruby], Object.new
36
+ end
37
+
38
+ def test_returns_true_when_is_similar
39
+ o = OpenStruct.new( :name => @specs[:ruby].name,
40
+ :version => @specs[:ruby].version,
41
+ :platform_string => @specs[:ruby].platform_string )
42
+
43
+ assert_match @specs[:ruby], o
44
+ end
45
+
46
+ def test_compare_to_another_spec
47
+ refute_match @specs[:ruby], @specs[:win]
48
+ end
49
+
50
+ def test_compare_to_same_name_and_version_different_platform
51
+ list = []
52
+ list << r = Stickler::SpecLite.new( 'alib', '4.2' )
53
+ list << u = Stickler::SpecLite.new( 'alib', '4.2', 'x86-mswin32' )
54
+ assert_equal [ r, u ], list.sort
55
+ end
56
+
57
+ def test_different_platforms_may_be_compared
58
+ list = []
59
+ list << h2 = Stickler::SpecLite.new( 'htimes', '1.1.1', 'x86-mingw32' )
60
+ list << h1 = Stickler::SpecLite.new( 'htimes', '1.1.1', 'java' )
61
+ assert_equal [h1, h2], list.sort
62
+ end
63
+
64
+ def test_sorting
65
+ list = @specs.values
66
+ alib = Stickler::SpecLite.new( 'alib', '4.2' )
67
+ list << alib
68
+ result = [ alib, @specs[:win], @specs[:ruby], @specs[:java] ]
69
+ assert_equal result, list.sort
70
+ end
71
+
72
+ def test_is_prerelease
73
+ spec = Stickler::SpecLite.new( 'prerelease', '1.2.3a' )
74
+ assert_predicate spec, :prerelease?
75
+ end
76
+
77
+ def test_not_prerelease
78
+ spec = Stickler::SpecLite.new( 'prerelease', '1.2.3' )
79
+ refute_predicate spec, :prerelease?
80
+ end
81
+
82
+ def test_version_sortable
83
+ l = []
84
+ l << a = Stickler::SpecLite.new( "foo", "1.0.3" )
85
+ l << b = Stickler::SpecLite.new( "foo", "1.0.22" )
86
+ l << c = Stickler::SpecLite.new( "foo", "1.0.17" )
87
+ assert_equal [a, c, b], l.sort
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,49 @@
1
+
2
+ if RUBY_VERSION >= '1.9.2' then
3
+ require 'simplecov'
4
+ SimpleCov.start if ENV['COVERAGE']
5
+ end
6
+
7
+ gem 'minitest'
8
+ require 'minitest/autorun'
9
+ require 'minitest/pride'
10
+ require 'stickler'
11
+ require 'index_test_helpers'
12
+
13
+ module Stickler
14
+ class Test < ::Minitest::Test
15
+ def test_dir
16
+ File.expand_path( File.dirname( __FILE__ ) )
17
+ end
18
+
19
+ def gem_root
20
+ File.join( test_dir, 'data' )
21
+ end
22
+
23
+ def specifications_dir
24
+ File.join( gem_root, "specifications" )
25
+ end
26
+
27
+ def gems_dir
28
+ File.join( gem_root, "gems" )
29
+ end
30
+
31
+ def teardown
32
+ ::Stickler::Repository::Local.purge
33
+ end
34
+
35
+ def assert_raises_kind_of *exp
36
+ msg = "#{exp.pop}.\n" if String === exp.last
37
+
38
+ begin
39
+ yield
40
+ rescue Exception => e
41
+ expected = exp.any? { |ex| e.kind_of? ex }
42
+ assert expected, proc {
43
+ exception_details(e, "#{msg}#{mu_pp(exp)} exception expected, not")
44
+ }
45
+ return e
46
+ end
47
+ end
48
+ end
49
+ end
metadata CHANGED
@@ -1,68 +1,60 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stickler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
5
- prerelease:
4
+ version: 2.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jeremy Hinegardner
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-03-09 00:00:00.000000000 Z
11
+ date: 2013-11-12 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: sinatra
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: 1.3.5
19
+ version: '1.4'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: 1.3.5
26
+ version: '1.4'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: addressable
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
37
- version: 2.3.3
33
+ version: '2.3'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
45
- version: 2.3.3
40
+ version: '2.3'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: excon
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
53
- version: 0.20.0
47
+ version: '0.29'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
61
- version: 0.20.0
54
+ version: '0.29'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: trollop
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: logging
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,23 +83,20 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: rake
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
101
- version: 10.0.3
89
+ version: '10.1'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
109
- version: 10.0.3
96
+ version: '10.1'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: rack-test
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -126,39 +111,34 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: builder
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ~>
132
116
  - !ruby/object:Gem::Version
133
- version: 3.2.0
117
+ version: '3.2'
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ~>
140
123
  - !ruby/object:Gem::Version
141
- version: 3.2.0
124
+ version: '3.2'
142
125
  - !ruby/object:Gem::Dependency
143
- name: rspec
126
+ name: minitest
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ~>
148
130
  - !ruby/object:Gem::Version
149
- version: 2.13.0
131
+ version: '5.0'
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ~>
156
137
  - !ruby/object:Gem::Version
157
- version: 2.13.0
138
+ version: '5.0'
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: rdoc
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
143
  - - ~>
164
144
  - !ruby/object:Gem::Version
@@ -166,7 +146,6 @@ dependencies:
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
150
  - - ~>
172
151
  - !ruby/object:Gem::Version
@@ -174,7 +153,6 @@ dependencies:
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: ronn
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
157
  - - ~>
180
158
  - !ruby/object:Gem::Version
@@ -182,14 +160,13 @@ dependencies:
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
164
  - - ~>
188
165
  - !ruby/object:Gem::Version
189
166
  version: 0.7.3
190
167
  description: ! 'Stickler is a tool to organize and maintain an internal gem repository.
191
168
  Primarily, you would want to use Stickler if: 1. You have proprietary gems that
192
- you want to have available via a gem server so you may +gem install+ them. 2.
169
+ you want to have available via a gem server so you may `gem install` them. 2.
193
170
  You would like to have a local mirror of third party gems from either http://rubygems.org
194
171
  or some other gem server. 3. You want both (1) and (2) in the same server.'
195
172
  email: jeremy@copiousfreetime.org
@@ -199,18 +176,21 @@ executables:
199
176
  - stickler-server
200
177
  extensions: []
201
178
  extra_rdoc_files:
179
+ - CONTRIBUTING.md
180
+ - HISTORY.md
202
181
  - Manifest.txt
203
- - README.rdoc
182
+ - README.md
204
183
  files:
205
184
  - CONTRIBUTING.md
206
185
  - HISTORY.md
207
186
  - LICENSE
208
187
  - Manifest.txt
209
- - README.rdoc
188
+ - README.md
210
189
  - Rakefile
211
190
  - bin/stickler
212
191
  - bin/stickler-passenger-config
213
192
  - bin/stickler-server
193
+ - examples/as_middleware.ru
214
194
  - examples/auth_repo.ru
215
195
  - examples/config.ru
216
196
  - examples/fetch-a-gem
@@ -224,12 +204,15 @@ files:
224
204
  - lib/stickler/client/config.rb
225
205
  - lib/stickler/client/config_file.rb
226
206
  - lib/stickler/client/delete.rb
207
+ - lib/stickler/client/latest-version.rb
227
208
  - lib/stickler/client/list.rb
228
209
  - lib/stickler/client/mirror.rb
229
210
  - lib/stickler/client/push.rb
230
211
  - lib/stickler/client/unyank.rb
231
212
  - lib/stickler/client/yank.rb
232
213
  - lib/stickler/error.rb
214
+ - lib/stickler/gem_container.rb
215
+ - lib/stickler/gemfile_lock_parser.rb
233
216
  - lib/stickler/logable.rb
234
217
  - lib/stickler/middleware.rb
235
218
  - lib/stickler/middleware/compression.rb
@@ -239,6 +222,7 @@ files:
239
222
  - lib/stickler/middleware/local.rb
240
223
  - lib/stickler/middleware/mirror.rb
241
224
  - lib/stickler/middleware/not_found.rb
225
+ - lib/stickler/middleware/server.rb
242
226
  - lib/stickler/paths.rb
243
227
  - lib/stickler/repository.rb
244
228
  - lib/stickler/repository/api.rb
@@ -267,73 +251,62 @@ files:
267
251
  - man/stickler-server.1.ronn
268
252
  - man/stickler.1
269
253
  - man/stickler.1.ronn
270
- - spec/data/gemcutter/gems/foo-1.0.0.gem
271
- - spec/data/gems/bar-1.0.0.gem
272
- - spec/data/gems/baz-3.1.4-java.gem
273
- - spec/data/gems/baz-3.1.4.gem
274
- - spec/data/gems/foo-1.0.0.gem
275
- - spec/data/gems/foo-2.0.0a.gem
276
- - spec/index_spec_helpers.rb
277
- - spec/middleware/local_spec.rb
278
- - spec/middleware/not_found_spec.rb
279
- - spec/paths_spec.rb
280
- - spec/repository/api_behavior.rb
281
- - spec/repository/api_spec.rb
282
- - spec/repository/index_spec.rb
283
- - spec/repository/local_spec.rb
284
- - spec/repository/null_spec.rb
285
- - spec/repository/remote_spec.rb
286
- - spec/spec.opts
287
- - spec/spec_helper.rb
288
- - spec/spec_lite_spec.rb
289
254
  - tasks/default.rake
255
+ - tasks/man.rake
290
256
  - tasks/this.rb
257
+ - test/data/Gemfile.lock.example
258
+ - test/data/gemcutter/gems/foo-1.0.0.gem
259
+ - test/data/gems/bar-1.0.0.gem
260
+ - test/data/gems/baz-3.1.4-java.gem
261
+ - test/data/gems/baz-3.1.4.gem
262
+ - test/data/gems/foo-1.0.0.gem
263
+ - test/data/gems/foo-2.0.0a.gem
264
+ - test/data/specifications/bar-1.0.0.gemspec
265
+ - test/data/specifications/baz-3.1.4-java.gemspec
266
+ - test/data/specifications/baz-3.1.4.gemspec
267
+ - test/data/specifications/foo-1.0.0.gemspec
268
+ - test/data/specifications/foo-2.0.0a.gemspec
269
+ - test/index_test_helpers.rb
270
+ - test/middleware/test_local.rb
271
+ - test/middleware/test_not_found.rb
272
+ - test/repository/test_api.rb
273
+ - test/repository/test_api_behavior.rb
274
+ - test/repository/test_index.rb
275
+ - test/repository/test_local.rb
276
+ - test/repository/test_null.rb
277
+ - test/repository/test_remote.rb
278
+ - test/repository/test_remote_authenticated.rb
279
+ - test/stickler_test_server.rb
280
+ - test/test_gemfile_lock_parser.rb
281
+ - test/test_paths.rb
282
+ - test/test_spec_lite.rb
283
+ - test/test_stickler.rb
291
284
  homepage: http://github.com/copiousfreetime/stickler
292
285
  licenses: []
286
+ metadata: {}
293
287
  post_install_message:
294
288
  rdoc_options:
295
289
  - --main
296
- - README.rdoc
290
+ - README.md
297
291
  - --markup
298
292
  - tomdoc
299
293
  require_paths:
300
294
  - lib
301
295
  required_ruby_version: !ruby/object:Gem::Requirement
302
- none: false
303
296
  requirements:
304
297
  - - ! '>='
305
298
  - !ruby/object:Gem::Version
306
299
  version: '0'
307
300
  required_rubygems_version: !ruby/object:Gem::Requirement
308
- none: false
309
301
  requirements:
310
302
  - - ! '>='
311
303
  - !ruby/object:Gem::Version
312
304
  version: '0'
313
305
  requirements: []
314
306
  rubyforge_project:
315
- rubygems_version: 1.8.23
307
+ rubygems_version: 2.1.5
316
308
  signing_key:
317
- specification_version: 3
309
+ specification_version: 4
318
310
  summary: ! 'Stickler is a tool to organize and maintain an internal gem repository.
319
311
  Primarily, you would want to use Stickler if:'
320
- test_files:
321
- - spec/data/gemcutter/gems/foo-1.0.0.gem
322
- - spec/data/gems/bar-1.0.0.gem
323
- - spec/data/gems/baz-3.1.4-java.gem
324
- - spec/data/gems/baz-3.1.4.gem
325
- - spec/data/gems/foo-1.0.0.gem
326
- - spec/data/gems/foo-2.0.0a.gem
327
- - spec/index_spec_helpers.rb
328
- - spec/middleware/local_spec.rb
329
- - spec/middleware/not_found_spec.rb
330
- - spec/paths_spec.rb
331
- - spec/repository/api_behavior.rb
332
- - spec/repository/api_spec.rb
333
- - spec/repository/index_spec.rb
334
- - spec/repository/local_spec.rb
335
- - spec/repository/null_spec.rb
336
- - spec/repository/remote_spec.rb
337
- - spec/spec.opts
338
- - spec/spec_helper.rb
339
- - spec/spec_lite_spec.rb
312
+ test_files: []