stickler 2.0.0a → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. data/.bnsignore +14 -0
  2. data/.gitignore +17 -0
  3. data/HISTORY.asciidoc +20 -0
  4. data/README.asciidoc +126 -0
  5. data/Rakefile +22 -3
  6. data/bin/stickler +50 -0
  7. data/bin/stickler-passenger-config +112 -0
  8. data/bin/stickler-server +109 -0
  9. data/examples/config.ru +6 -3
  10. data/examples/gemcutter_repo.ru +2 -0
  11. data/examples/index_repo.ru +2 -0
  12. data/examples/local_repo.ru +6 -3
  13. data/examples/mirror_repo.ru +2 -0
  14. data/examples/not_found.ru +2 -0
  15. data/lib/stickler.rb +12 -0
  16. data/lib/stickler/client.rb +47 -0
  17. data/lib/stickler/client/config.rb +35 -0
  18. data/lib/stickler/client/config_file.rb +58 -0
  19. data/lib/stickler/client/mirror.rb +61 -0
  20. data/lib/stickler/client/push.rb +50 -0
  21. data/lib/stickler/client/yank.rb +51 -0
  22. data/lib/stickler/logable.rb +35 -0
  23. data/lib/stickler/middleware/gemcutter.rb +5 -0
  24. data/lib/stickler/middleware/helpers.rb +32 -0
  25. data/lib/stickler/middleware/index.rb +30 -4
  26. data/lib/stickler/middleware/mirror.rb +8 -3
  27. data/lib/stickler/middleware/not_found.rb +4 -2
  28. data/lib/stickler/paths.rb +53 -0
  29. data/lib/stickler/repository/local.rb +12 -12
  30. data/lib/stickler/repository/mirror.rb +13 -6
  31. data/lib/stickler/repository/null.rb +1 -0
  32. data/lib/stickler/repository/remote.rb +10 -4
  33. data/lib/stickler/repository/rubygems_authenticator.rb +32 -0
  34. data/lib/stickler/server.rb +34 -0
  35. data/lib/stickler/server/public/css/blueprint/LICENSE +22 -0
  36. data/lib/stickler/server/public/css/blueprint/ie.css +35 -0
  37. data/lib/stickler/server/public/css/blueprint/screen.css +266 -0
  38. data/lib/stickler/server/public/css/style.css +19 -0
  39. data/lib/stickler/server/public/images/apple-touch-icon.png +0 -0
  40. data/lib/stickler/server/public/images/favicon.ico +0 -0
  41. data/lib/stickler/server/public/js/modernizr-1.5.min.js +28 -0
  42. data/lib/stickler/server/views/index.erb +35 -0
  43. data/lib/stickler/server/views/layout.erb +42 -0
  44. data/lib/stickler/spec_lite.rb +16 -6
  45. data/lib/stickler/version.rb +1 -1
  46. data/man/asciidoc.conf +25 -0
  47. data/man/stickler-passenger-config.asciidoc +74 -0
  48. data/man/stickler-server.asciidoc +87 -0
  49. data/man/stickler.asciidoc +148 -0
  50. data/spec/middleware/common_gem_server_helpers.rb +4 -2
  51. data/spec/middleware/index_spec.rb +3 -3
  52. data/spec/middleware/legacy_gem_server_behavior.rb +0 -2
  53. data/spec/middleware/local_spec.rb +3 -3
  54. data/spec/middleware/modern_gem_server_behavior.rb +2 -0
  55. data/spec/paths_spec.rb +13 -0
  56. data/spec/spec_lite_spec.rb +14 -0
  57. data/tasks/man.rake +19 -0
  58. metadata +183 -56
  59. data/HISTORY.rdoc +0 -12
  60. data/README.rdoc +0 -88
  61. data/lib/stickler/web.rb +0 -19
  62. data/stickler.gemspec +0 -60
  63. data/views/index.erb +0 -19
  64. data/views/layout.erb +0 -39
@@ -1,19 +0,0 @@
1
- require 'stickler/middleware/compression'
2
- require 'stickler/middleware/gemcutter'
3
- require 'stickler/middleware/mirror'
4
- require 'stickler/middleware/index'
5
- require 'rack/cascade'
6
-
7
- module Stickler
8
- class Web < ::Sinatra::Base
9
-
10
- disable :sessions
11
- enable :logging, :dump_errors, :clean_trace
12
-
13
- use Stickler::Middleware::Compression
14
- use Stickler::Middleware::Gemcutter, :serve_indexes => false
15
- use Stickler::Middleware::Mirror, :serve_indexes => false
16
- use Stickler::Middleware::Index, :serve_indexes => true
17
- run Stickler::Middleware::NotFound
18
- end
19
- end
@@ -1,60 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = %q{stickler}
5
- s.version = "0.0.1"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Jeremy Hinegardner"]
9
- s.date = %q{2010-06-29}
10
- s.description = %q{Stickler is a tool to organize and maintain an internal gem repository.
11
-
12
- At times it is useful to have complete control over the availability of the gems
13
- for you testing, staging and production environments. In these cases you
14
- probably do not want to accidentally type 'gem update' and get a new untested
15
- version of a gem installed on your machines. This is where Stickler helps.
16
-
17
- Configure stickler with the the names and versions of the gems you require for
18
- your deployment and it will organize and setup everything that is necessary for
19
- a standard web server to function as your internal gem distribution server.}
20
- s.email = %q{jeremy@hinegardner.org}
21
- s.extra_rdoc_files = ["HISTORY.rdoc", "README.rdoc"]
22
- s.files = ["HISTORY.rdoc", "LICENSE", "README.rdoc", "Rakefile", "examples/config.ru", "examples/gemcutter_repo.ru", "examples/index_repo.ru", "examples/local_repo.ru", "examples/mirror_repo.ru", "examples/not_found.ru", "lib/stickler/error.rb", "lib/stickler/middleware.rb", "lib/stickler/middleware/compression.rb", "lib/stickler/middleware/gemcutter.rb", "lib/stickler/middleware/helpers.rb", "lib/stickler/middleware/index.rb", "lib/stickler/middleware/local.rb", "lib/stickler/middleware/mirror.rb", "lib/stickler/middleware/not_found.rb", "lib/stickler/repository.rb", "lib/stickler/repository/api.rb", "lib/stickler/repository/index.rb", "lib/stickler/repository/local.rb", "lib/stickler/repository/mirror.rb", "lib/stickler/repository/null.rb", "lib/stickler/repository/remote.rb", "lib/stickler/spec_lite.rb", "lib/stickler/version.rb", "lib/stickler/web.rb", "spec/data/gems/bar-1.0.0.gem", "spec/data/gems/foo-1.0.0.gem", "spec/data/specifications/bar-1.0.0.gemspec", "spec/data/specifications/foo-1.0.0.gemspec", "spec/middleware/common_gem_server_helpers.rb", "spec/middleware/index_spec.rb", "spec/middleware/legacy_gem_server_behavior.rb", "spec/middleware/local_spec.rb", "spec/middleware/modern_gem_server_behavior.rb", "spec/middleware/not_found_spec.rb", "spec/repository/api_behavior.rb", "spec/repository/api_spec.rb", "spec/repository/index_spec.rb", "spec/repository/local_spec.rb", "spec/repository/null_spec.rb", "spec/repository/remote_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "spec/spec_lite_spec.rb", "views/index.erb", "views/layout.erb"]
23
- s.homepage = %q{http://rubygems.org/gems/stickler}
24
- s.rdoc_options = ["--main", "README.rdoc"]
25
- s.require_paths = ["lib"]
26
- s.rubyforge_project = %q{copiousfreetime}
27
- s.rubygems_version = %q{1.3.5}
28
- s.summary = %q{Stickler is a tool to organize and maintain an internal gem repository}
29
-
30
- if s.respond_to? :specification_version then
31
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
32
- s.specification_version = 3
33
-
34
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
35
- s.add_runtime_dependency(%q<sinatra>, ["~> 1.0.0"])
36
- s.add_runtime_dependency(%q<addressable>, ["~> 2.1.2"])
37
- s.add_runtime_dependency(%q<resourceful>, ["~> 1.0.1"])
38
- s.add_development_dependency(%q<bones>, ["~> 3.4.6"])
39
- s.add_development_dependency(%q<rack-test>, ["~> 0.5.4"])
40
- s.add_development_dependency(%q<bones-extras>, ["~> 1.2.4"])
41
- s.add_development_dependency(%q<bones>, [">= 3.4.6"])
42
- else
43
- s.add_dependency(%q<sinatra>, ["~> 1.0.0"])
44
- s.add_dependency(%q<addressable>, ["~> 2.1.2"])
45
- s.add_dependency(%q<resourceful>, ["~> 1.0.1"])
46
- s.add_dependency(%q<bones>, ["~> 3.4.6"])
47
- s.add_dependency(%q<rack-test>, ["~> 0.5.4"])
48
- s.add_dependency(%q<bones-extras>, ["~> 1.2.4"])
49
- s.add_dependency(%q<bones>, [">= 3.4.6"])
50
- end
51
- else
52
- s.add_dependency(%q<sinatra>, ["~> 1.0.0"])
53
- s.add_dependency(%q<addressable>, ["~> 2.1.2"])
54
- s.add_dependency(%q<resourceful>, ["~> 1.0.1"])
55
- s.add_dependency(%q<bones>, ["~> 3.4.6"])
56
- s.add_dependency(%q<rack-test>, ["~> 0.5.4"])
57
- s.add_dependency(%q<bones-extras>, ["~> 1.2.4"])
58
- s.add_dependency(%q<bones>, [">= 3.4.6"])
59
- end
60
- end
@@ -1,19 +0,0 @@
1
- <div id="header">
2
- <h1>Available Gems</h1>
3
- </div>
4
- <table class="gem" summary="This table is a list of the available gems.">
5
- <thead>
6
- <tr>
7
- <th>Gem name</th>
8
- <th>Version</th>
9
- </tr>
10
- </thead>
11
- <tfoot></tfoot>
12
- <tbody>
13
- <% @repo.specs.sort_by { |spec| spec.full_name }.each_with_index do |spec, idx| %>
14
- <tr class="<%= %w[ red grey ][idx % 2]%>">
15
- <td><a href="/gems/<%= spec.file_name %>"><%= spec.name %></a></td>
16
- <td align="right"><%= spec.version %></td>
17
- </tr>
18
- <% end %>
19
- </table>
@@ -1,39 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE html html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
3
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4
-
5
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
6
- <head>
7
- <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
8
- <style type="text/css" media="screen">
9
- * { margin: 0; padding: 0; border: 0; outline: 0; }
10
- div.clear { clear: both; }
11
- body { background: #eeeeee; margin: 0; padding: 0; }
12
- #wrap { width: 1000px; margin: 0 auto; padding: 30px 50px 20px 50px;
13
- background: #fff; border-left: 1px solid #DDD;
14
- border-right: 1px solid #DDD; }
15
- #header { margin: 0 auto 25px auto; }
16
- h1 { margin: 0; font-size: 36px; color: #981919; text-align: center; }
17
- h2 { margin: 0; font-size: 22px; color: #333333; }
18
- table.gem { width: 980px; text-align: left; font-size: 12px;
19
- color: #666666; padding: 0; border-spacing: 0;
20
- border: 1px solid #EEEEEE; border-bottom: 0;
21
- border-left: 0;
22
- clear:both;}
23
- table.gem tr th { padding: 2px 10px; font-weight: bold;
24
- font-size: 22px; background: #f7f7f7; text-align: center;
25
- border-left: 1px solid #eeeeee;
26
- border-bottom: 1px solid #eeeeee; }
27
- table.gem tr td { padding: 2px 20px 2px 10px;
28
- border-bottom: 1px solid #eeeeee;
29
- border-left: 1px solid #eeeeee; }
30
-
31
- </style>
32
- <title>Stickler</title>
33
- </head>
34
- <body>
35
- <div id="wrap">
36
- <%= yield %>
37
- </div>
38
- </body>
39
- </html>