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
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NjZmM2E2ZmQyN2JmMTQ3YjFjZGMyMjg5ODc1MzgyMWY5MDE5NmRlMg==
5
+ data.tar.gz: !binary |-
6
+ ZDdiZTVmZGQyNzNhNzBmYWZhYjg1MGQ1NTZlMGE5MjIyMjg3YzM1Ng==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ OWM1ZWJjMzc0ZWUyYzlhYWJlOGI0OWUxYTM0YTJmNmUzYjg4NWE5NGM5MGY1
10
+ YjEyYjk2OWY1OTBlYWIwZDFiNDFkZDAyZWUyNjlmZThkYTgyZjU0Mzc5M2Fk
11
+ ZDY3Mzc2ZGY1MmJhMDNmMWFhZGM5ZWY0Yzc3ZWY2Yzg4ZGMwNWI=
12
+ data.tar.gz: !binary |-
13
+ MzMxNjczN2I2NTY5ZTZiZWIxNzI4NjM4MTM3OGJlNDk1Nzg2MDcwYWQ2YjAz
14
+ OWUzNWVjMmVkMDA4NWI2YjJkN2ZmYjcwOThmZGFlNDM2OTU1MjBkODQ1ZmY3
15
+ YjA3ODNmNTQ1YWY2NDEyNjhkOTk5ZjQyN2VhMjAyNTY4OTk5YzQ=
@@ -35,10 +35,11 @@ easiest way to contribute.
35
35
 
36
36
  # Contributors
37
37
 
38
- * [Jeremy Hinegardner][https://github.com/copiousfreetime]
39
- * [Kevin Barnes][https://github.com/vinbarnes]
40
- * [Philip Roberts][https://github.com/latentflip]
41
- * [Alan Gardner][https://github.com/urfolomeus]
38
+ * [Jeremy Hinegardner](https://github.com/copiousfreetime)
39
+ * [Kevin Barnes](https://github.com/vinbarnes)
40
+ * [Philip Roberts](https://github.com/latentflip)
41
+ * [Alan Gardner](https://github.com/urfolomeus)
42
+ * [tiago.nobre](https://github.com/macwadu)
42
43
 
43
44
  [GitHub Account]: https://github.com/signup/free "GitHub Signup"
44
45
  [GitHub Issues]: https://github.com/copiousfreetime/stickler/issues "Stickler Issues"
data/HISTORY.md CHANGED
@@ -2,23 +2,30 @@ Stickler Changelog
2
2
  ==================
3
3
  Jeremy Hinegardner <jeremy@copiousfreetime.org>
4
4
 
5
+ Version 2.4.0 - 2013-11-13
6
+ --------------------------
7
+ * Ruby 2.0 compatibility <http://github.com/copiousfreetime/stickler/issues/28>
8
+ * Implement latest-version command <http://github.com/copiousfreetime/stickler/issues/29>
9
+ * Extract Server functionality to Middleware <http://github.com/copiousfreetime/stickler/issues/33>
10
+ * Updated dependencies to latest versions
11
+
5
12
  Version 2.3.0 - 2013-03-09
6
13
  --------------------------
7
- * Expose deleting a gem via the stickler commandline (copiousfreetime/stickler/#10)
8
- * Update dependencies for Excon so http proxy works (copiousfreetime/stickler/#24)
9
- * Implement unyank for local and remote repositories (copiousfreetime/stickler/#26)
14
+ * Expose deleting a gem via the stickler commandline <http://github.com/copiousfreetime/stickler/issues/10>
15
+ * Update dependencies for Excon so http proxy works http://github.com/copiousfreetime/stickler/issues/24>
16
+ * Implement unyank for local and remote repositories <http://github.com/copiousfreetime/stickler/issues/26>
10
17
  * Updated dependencies to latest versions
11
18
 
12
19
  Version 2.2.4 - 2012-02-26
13
20
  --------------------------
14
- * Fixed authentication failing on mirror command (copiousfreetime/stickler/#12)
21
+ * Fixed authentication failing on mirror command <http://github.com/copiousfreetime/stickler/issues/12>
15
22
  * Fixed 'list' command not working when no flags where given
16
- * Fixed latest_specs not having all platforms in it (copiousfreetime/stickler/#21)
23
+ * Fixed latest_specs not having all platforms in it <http://github.com/copiousfreetime/stickler/issues/21>
17
24
 
18
25
  Version 2.2.2 - 2012-02-13
19
26
  --------------------------
20
27
  * Updated dependencies to latest versions
21
- * Added supoort for HTTP Basic Auth in the client
28
+ * Added supoort for <http Basic Auth in the client
22
29
 
23
30
  Version 2.1.4 - 2011-09-09
24
31
  --------------------------
@@ -26,9 +33,9 @@ Version 2.1.4 - 2011-09-09
26
33
 
27
34
  Version 2.1.3 - 2011-07-24
28
35
  --------------------------
29
- * Do not feed ARGV strings directly into Gem::Version (copiousfreetime/stickler#4)
30
- * In web page, display gems in sort order, not lexical order (copiousfreetime/stickler#16)
31
- * Make sure Rack body's respond to #each (copiousfreetime/stickler#17)
36
+ * Do not feed ARGV strings directly into Gem::Version <http://github.com/copiousfreetime/stickler/issues/4>
37
+ * In web page, display gems in sort order, not lexical order <http://github.com/copiousfreetime/stickler/issues/16>
38
+ * Make sure Rack body's respond to #each <http://github.com/copiousfreetime/stickler/issues/17>
32
39
 
33
40
  Version 2.1.2 - 2011-03-31
34
41
  --------------------------
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2008-2010, Jeremy Hinegadner
1
+ Copyright (c) 2008-2013, Jeremy Hinegardner
2
2
 
3
3
  Permission to use, copy, modify, and/or distribute this software for any
4
4
  purpose with or without fee is hereby granted, provided that the above
@@ -2,11 +2,12 @@ CONTRIBUTING.md
2
2
  HISTORY.md
3
3
  LICENSE
4
4
  Manifest.txt
5
- README.rdoc
5
+ README.md
6
6
  Rakefile
7
7
  bin/stickler
8
8
  bin/stickler-passenger-config
9
9
  bin/stickler-server
10
+ examples/as_middleware.ru
10
11
  examples/auth_repo.ru
11
12
  examples/config.ru
12
13
  examples/fetch-a-gem
@@ -20,12 +21,15 @@ lib/stickler/client.rb
20
21
  lib/stickler/client/config.rb
21
22
  lib/stickler/client/config_file.rb
22
23
  lib/stickler/client/delete.rb
24
+ lib/stickler/client/latest-version.rb
23
25
  lib/stickler/client/list.rb
24
26
  lib/stickler/client/mirror.rb
25
27
  lib/stickler/client/push.rb
26
28
  lib/stickler/client/unyank.rb
27
29
  lib/stickler/client/yank.rb
28
30
  lib/stickler/error.rb
31
+ lib/stickler/gem_container.rb
32
+ lib/stickler/gemfile_lock_parser.rb
29
33
  lib/stickler/logable.rb
30
34
  lib/stickler/middleware.rb
31
35
  lib/stickler/middleware/compression.rb
@@ -35,6 +39,7 @@ lib/stickler/middleware/index.rb
35
39
  lib/stickler/middleware/local.rb
36
40
  lib/stickler/middleware/mirror.rb
37
41
  lib/stickler/middleware/not_found.rb
42
+ lib/stickler/middleware/server.rb
38
43
  lib/stickler/paths.rb
39
44
  lib/stickler/repository.rb
40
45
  lib/stickler/repository/api.rb
@@ -63,24 +68,33 @@ man/stickler-server.1
63
68
  man/stickler-server.1.ronn
64
69
  man/stickler.1
65
70
  man/stickler.1.ronn
66
- spec/data/gemcutter/gems/foo-1.0.0.gem
67
- spec/data/gems/bar-1.0.0.gem
68
- spec/data/gems/baz-3.1.4-java.gem
69
- spec/data/gems/baz-3.1.4.gem
70
- spec/data/gems/foo-1.0.0.gem
71
- spec/data/gems/foo-2.0.0a.gem
72
- spec/index_spec_helpers.rb
73
- spec/middleware/local_spec.rb
74
- spec/middleware/not_found_spec.rb
75
- spec/paths_spec.rb
76
- spec/repository/api_behavior.rb
77
- spec/repository/api_spec.rb
78
- spec/repository/index_spec.rb
79
- spec/repository/local_spec.rb
80
- spec/repository/null_spec.rb
81
- spec/repository/remote_spec.rb
82
- spec/spec.opts
83
- spec/spec_helper.rb
84
- spec/spec_lite_spec.rb
85
71
  tasks/default.rake
72
+ tasks/man.rake
86
73
  tasks/this.rb
74
+ test/data/Gemfile.lock.example
75
+ test/data/gemcutter/gems/foo-1.0.0.gem
76
+ test/data/gems/bar-1.0.0.gem
77
+ test/data/gems/baz-3.1.4-java.gem
78
+ test/data/gems/baz-3.1.4.gem
79
+ test/data/gems/foo-1.0.0.gem
80
+ test/data/gems/foo-2.0.0a.gem
81
+ test/data/specifications/bar-1.0.0.gemspec
82
+ test/data/specifications/baz-3.1.4-java.gemspec
83
+ test/data/specifications/baz-3.1.4.gemspec
84
+ test/data/specifications/foo-1.0.0.gemspec
85
+ test/data/specifications/foo-2.0.0a.gemspec
86
+ test/index_test_helpers.rb
87
+ test/middleware/test_local.rb
88
+ test/middleware/test_not_found.rb
89
+ test/repository/test_api.rb
90
+ test/repository/test_api_behavior.rb
91
+ test/repository/test_index.rb
92
+ test/repository/test_local.rb
93
+ test/repository/test_null.rb
94
+ test/repository/test_remote.rb
95
+ test/repository/test_remote_authenticated.rb
96
+ test/stickler_test_server.rb
97
+ test/test_gemfile_lock_parser.rb
98
+ test/test_paths.rb
99
+ test/test_spec_lite.rb
100
+ test/test_stickler.rb
@@ -0,0 +1,128 @@
1
+ # Stickler
2
+
3
+ * [Homepage](http://github.com/copiousfreetime/stickler)
4
+ * [GitHub](http://github.com/copiousfreetime/stickler)
5
+ * email jeremy at copiousfreetime dot org
6
+ * `git clone git://github.com/copiousfreetime/stickler.git`
7
+
8
+ ## DESCRIPTION
9
+
10
+ Stickler is a tool to organize and maintain an internal gem repository.
11
+ Primarily, you would want to use Stickler if:
12
+
13
+ 1. You have proprietary gems that you want to have available via a gem server so
14
+ you may `gem install` them.
15
+ 2. You would like to have a local mirror of third party gems from either
16
+ http://rubygems.org or some other gem server.
17
+ 3. You want both (1) and (2) in the same server.
18
+
19
+
20
+ ## INSTALLATION
21
+
22
+ Installing stickler may be done via the standard gem installation
23
+
24
+ gem install stickler
25
+
26
+ Or downloaded from http://github.com/copiousfreetime/stickler/downloads
27
+
28
+
29
+ ## USAGE
30
+
31
+ Stickler is broken up into a few commandline programs.
32
+
33
+ * **stickler** - Used to mainpulate gems that are in a stickler-server.
34
+ * **stickler-server** - The server process that manages gems.
35
+ * **stickler-passenger-config** - A helper process to generate Passenger configurations for
36
+
37
+ The easiest way to get up and running with stickler is to run the standalone
38
+ server `stickler-server` and then use `stickler` to interact with it.
39
+
40
+ ### Start up a standalone stickler server
41
+
42
+ % mkdir -p /tmp/stickler-test
43
+ % stickler-server start --daemonize /tmp/stickler-test
44
+
45
+ ### Set some sane defaults
46
+
47
+ % stickler config --add --server http://localhost:6789 --upstream https://rubygems.org
48
+ server : http://localhost:6789
49
+ upstream : https://rubygems.org
50
+
51
+ % cat ~/.gem/stickler
52
+ ---
53
+ :server: http://localhost:6789
54
+ :upstream: https://rubygems.org
55
+
56
+ ### Take a few gems and push them to the server
57
+
58
+ % ls -1
59
+ heel-2.0.0.gem
60
+ hitimes-1.1.1.gem
61
+ launchy-0.3.5.gem
62
+ stickler-2.0.0.gem
63
+
64
+ % stickler push *.gem
65
+ Pushing gem(s) to http://localhost:6789/ ...
66
+ /Users/jeremy/tmp/gems/heel-2.0.0.gem -> OK http://localhost:6789/gems/heel-2.0.0.gem
67
+ /Users/jeremy/tmp/gems/hitimes-1.1.1.gem -> OK http://localhost:6789/gems/hitimes-1.1.1.gem
68
+ /Users/jeremy/tmp/gems/launchy-0.3.5.gem -> OK http://localhost:6789/gems/launchy-0.3.5.gem
69
+ /Users/jeremy/tmp/gems/stickler-2.0.0.gem -> OK http://localhost:6789/gems/stickler-2.0.0.gem
70
+
71
+ ### Mirror a gem from upstream
72
+
73
+ % stickler mirror --gem-version 1.4.3 logging
74
+ Asking http://localhost:6789/ to mirror logging-1.4.3 from rubygems.org : OK -> http://localhost:6789/gems/logging-1.4.3.gem
75
+ % stickler mirror --gem-version 1.16.2 trollop
76
+ Asking http://localhost:6789/ to mirror trollop-1.16.2 from rubygems.org : OK -> http://localhost:6789/gems/trollop-1.16.2.gem
77
+
78
+ ### Look at all the gems installed in your stickler server
79
+
80
+ Open your browser to http://localhost:6789
81
+
82
+ % launchy http://localhost:6789
83
+
84
+ ### Install a gem from your new stickler gem server
85
+
86
+ % gem install hitimes --source http://localhost:6789/
87
+
88
+ ### Configure your servers to globally use your internal stickler gem server
89
+
90
+ % cat /etc/gemrc
91
+ ---
92
+ :benchmark: false
93
+ :verbose: false
94
+ :update_sources: true
95
+ :bulk_threshold: 1000
96
+ :backtrace: false
97
+ :sources:
98
+ - http://stickler.example.com
99
+ gem: --no-rdoc --no-ri
100
+
101
+ ## See Also
102
+
103
+ The man pages that ship with the gem. They may be viewed if you also install
104
+ the [gem-man](http://defunkt.github.com/gem-man/) gem.
105
+
106
+ % gem install gem-man
107
+ % gem man stickler
108
+ View which manual?
109
+ 1. stickler-passenger-config(1)
110
+ 2. stickler-server(1)
111
+ 3. stickler(1)
112
+ >
113
+
114
+ ## DEVELOPMENT
115
+
116
+ If you want to do development on stickler, please see
117
+ [CONTRIBUTING.md](./CONTRIBUTING.md)
118
+
119
+
120
+ ## CREDITS
121
+
122
+ * [The Rubygems Team](https://github.com/rubygems/rubygems)
123
+
124
+
125
+ ## LICENSE
126
+
127
+ Copyright (C) 2008-2013 Jeremy Hinegardner ISC License, See [LICENSE](./LICENSE) for details.
128
+
data/Rakefile CHANGED
@@ -8,20 +8,21 @@ This.homepage = "http://github.com/copiousfreetime/#{ This.name }"
8
8
 
9
9
 
10
10
  This.ruby_gemspec do |spec|
11
- spec.add_runtime_dependency( 'sinatra' , '~> 1.3.5' )
12
- spec.add_runtime_dependency( 'addressable', '~> 2.3.3' )
13
- spec.add_runtime_dependency( 'excon' , '~> 0.20.0' )
11
+ spec.add_runtime_dependency( 'sinatra' , '~> 1.4' )
12
+ spec.add_runtime_dependency( 'addressable', '~> 2.3' )
13
+ spec.add_runtime_dependency( 'excon' , '~> 0.29' )
14
14
  spec.add_runtime_dependency( 'trollop' , '~> 2.0' )
15
15
  spec.add_runtime_dependency( 'logging' , '~> 1.8.1' )
16
16
 
17
17
  # The Development Dependencies
18
- spec.add_development_dependency( 'rake' , '~> 10.0.3' )
19
- spec.add_development_dependency( 'rack-test' , '~> 0.6.2' )
20
- spec.add_development_dependency( 'builder' , '~> 3.2.0' )
21
- spec.add_development_dependency( 'rspec' , '~> 2.13.0' )
22
- spec.add_development_dependency( 'rdoc' , '~> 4.0' )
23
- spec.add_development_dependency( 'ronn' , '~> 0.7.3' )
18
+ spec.add_development_dependency( 'rake' , '~> 10.1' )
19
+ spec.add_development_dependency( 'rack-test' , '~> 0.6.2' )
20
+ spec.add_development_dependency( 'builder' , '~> 3.2' )
21
+ spec.add_development_dependency( 'minitest' , '~> 5.0' )
22
+ spec.add_development_dependency( 'rdoc' , '~> 4.0' )
23
+ spec.add_development_dependency( 'ronn' , '~> 0.7.3' )
24
24
 
25
25
  end
26
26
 
27
27
  load 'tasks/default.rake'
28
+ load 'tasks/man.rake'
@@ -3,13 +3,13 @@
3
3
  require 'stickler'
4
4
  require 'stickler/client'
5
5
 
6
- SUB_COMMANDS = %w[ push yank mirror config list delete unyank ].sort
6
+ SUB_COMMANDS = %w[ push yank mirror config list delete unyank latest-version ].sort
7
7
  exec_name = File.basename( $0 )
8
8
 
9
- #----------------------------------------------------------------------
9
+ # ---------------------------------------------------------------------
10
10
  # parse through the top level global options, this is intercept
11
11
  # --version and --help
12
- #----------------------------------------------------------------------
12
+ # ---------------------------------------------------------------------
13
13
  global_options = Trollop::options do
14
14
  version "Stickler #{Stickler::VERSION}"
15
15
  banner <<-_
@@ -25,7 +25,8 @@ Stickler server interaction
25
25
  #{exec_name} mirror --help
26
26
  #{exec_name} config --server http://stickler.example.com --upstream http://rubygems.org/
27
27
  #{exec_name} list --server http://stickler.example.com
28
- #{exec_name} delete my_gem --gem-version 1.2.3 --server #http://stickler.example.com/
28
+ #{exec_name} delete my_gem --gem-version 1.2.3 --server http://stickler.example.com/
29
+ #{exec_name} latest-version my_gem --server http://stickler.example.com
29
30
 
30
31
  Options:
31
32
  _
@@ -33,9 +34,9 @@ _
33
34
  stop_on SUB_COMMANDS
34
35
  end
35
36
 
36
- #----------------------------------------------------------------------
37
+ # ---------------------------------------------------------------------
37
38
  # sub command processing
38
- #----------------------------------------------------------------------
39
+ # ---------------------------------------------------------------------
39
40
  cmd = ARGV.shift
40
41
  Trollop::die "No sub command given" unless cmd
41
42
  Trollop::die "Unknown sub command #{cmd.inspect}" unless SUB_COMMANDS.include?( cmd )
@@ -56,5 +57,7 @@ when "config"
56
57
  ::Stickler::Client::Config.new( ARGV ).run
57
58
  when "list"
58
59
  ::Stickler::Client::List.new( ARGV ).run
60
+ when "latest-version"
61
+ ::Stickler::Client::LatestVersion.new( ARGV ).run
59
62
  end
60
63
 
@@ -7,10 +7,10 @@ require 'stickler'
7
7
  SUB_COMMANDS = %w[ apache2 nginx ]
8
8
  exec_name = File.basename( $0 )
9
9
 
10
- #----------------------------------------------------------------------
10
+ # ---------------------------------------------------------------------
11
11
  # parse through the top level global options, this is intercept
12
12
  # --version and --help
13
- #----------------------------------------------------------------------
13
+ # ---------------------------------------------------------------------
14
14
  global_options = Trollop::options do
15
15
  version "Stickler #{::Stickler::VERSION}"
16
16
  banner <<-_
@@ -27,15 +27,15 @@ _
27
27
  stop_on SUB_COMMANDS
28
28
  end
29
29
 
30
- #----------------------------------------------------------------------
30
+ # ---------------------------------------------------------------------
31
31
  # sub command processing
32
- #----------------------------------------------------------------------
32
+ # ---------------------------------------------------------------------
33
33
  cmd = ARGV.shift
34
34
  Trollop::die "unknown sub command #{cmd.inspect}" unless SUB_COMMANDS.include?( cmd )
35
35
 
36
- #----------------------------------------------------------------------
36
+ # ---------------------------------------------------------------------
37
37
  # validate the sole argument, the stickler root directory
38
- #----------------------------------------------------------------------
38
+ # ---------------------------------------------------------------------
39
39
  stickler_root = ARGV.shift
40
40
  Trollop::die "Stickler root argument required" unless stickler_root
41
41
  stickler_root = File.expand_path( stickler_root )
@@ -55,9 +55,9 @@ begin
55
55
  config_ru = File.join( stickler_root, "config.ru" )
56
56
  File.open( config_ru, "w+" ) do |f|
57
57
  f.puts <<-__config_ru__
58
- #-----------------------------------------------------------------------
58
+ # ----------------------------------------------------------------------
59
59
  # config.ru for use with passenger deployed Stickler
60
- #-----------------------------------------------------------------------
60
+ # ----------------------------------------------------------------------
61
61
  require 'rubygems' if RUBY_VERSION < "1.9"
62
62
  require 'stickler'
63
63
  run ::Stickler::Server.new( "#{stickler_root}" ).app
@@ -6,10 +6,10 @@ require 'trollop'
6
6
  SUB_COMMANDS = %w[ start stop ]
7
7
  exec_name = File.basename( $0 )
8
8
 
9
- #----------------------------------------------------------------------
9
+ # ---------------------------------------------------------------------
10
10
  # parse through the top level global options, this is intercept
11
11
  # --version and --help
12
- #----------------------------------------------------------------------
12
+ # ---------------------------------------------------------------------
13
13
  global_options = Trollop::options do
14
14
  version "Stickler #{Stickler::VERSION}"
15
15
  banner <<-_
@@ -26,15 +26,15 @@ _
26
26
  stop_on SUB_COMMANDS
27
27
  end
28
28
 
29
- #----------------------------------------------------------------------
29
+ # ---------------------------------------------------------------------
30
30
  # sub command processing
31
- #----------------------------------------------------------------------
31
+ # ---------------------------------------------------------------------
32
32
  cmd = ARGV.shift
33
33
  Trollop::die "unknown sub command #{cmd.inspect}" unless SUB_COMMANDS.include?( cmd )
34
34
 
35
- #----------------------------------------------------------------------
35
+ # ---------------------------------------------------------------------
36
36
  # All for the display of a default
37
- #----------------------------------------------------------------------
37
+ # ---------------------------------------------------------------------
38
38
  DEFAULT_HANDLERS = %w[ thin mongrel webrick ]
39
39
  def rack_handler( handlers = DEFAULT_HANDLERS )
40
40
  handlers = Array( handlers )
@@ -49,10 +49,10 @@ def rack_handler( handlers = DEFAULT_HANDLERS )
49
49
  Trollop::die "No Server handler (#{handlers.join(",")}) found."
50
50
  end
51
51
 
52
- #----------------------------------------------------------------------
52
+ # ---------------------------------------------------------------------
53
53
  # option parsing of the sub command, all subcommands have the same
54
54
  # options
55
- #----------------------------------------------------------------------
55
+ # ---------------------------------------------------------------------
56
56
  rack_options = Trollop::options do
57
57
  banner <<-_
58
58
  Usage: #{exec_name} #{cmd} [options] /path/to/stickler/root
@@ -60,8 +60,8 @@ Usage: #{exec_name} #{cmd} [options] /path/to/stickler/root
60
60
  Options:
61
61
  _
62
62
  opt :daemonize, "Daemonize the server", :default => false
63
- opt :host, "The host address to bind to", :type => :string, :default =>'0.0.0.0'
64
- opt :pid, "Path to write a pid file to after daemonizing", :type => :int
63
+ opt :host, "The host address to bind to", :type => String, :default =>'0.0.0.0'
64
+ opt :pid, "Path to write a pid file to after daemonizing", :type => String, :default => 'stickler-server.pid'
65
65
  opt :port, "The port to bind to", :type => :int, :default => 6789
66
66
  opt :server, "The rack handler: thin, mongrel, webrick, etc", :type => String, :default => rack_handler
67
67
  end
@@ -71,9 +71,9 @@ end
71
71
  rack_options[:Host] = rack_options.delete(:host)
72
72
  rack_options[:Port] = rack_options.delete(:port)
73
73
 
74
- #----------------------------------------------------------------------
74
+ # ---------------------------------------------------------------------
75
75
  # validate the sole argument, the stickler root directory
76
- #----------------------------------------------------------------------
76
+ # ---------------------------------------------------------------------
77
77
  stickler_root = ARGV.shift
78
78
  Trollop::die "Stickler root argument required" unless stickler_root
79
79