stickler 2.0.0a → 2.0.1

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.
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>