stickler 2.1.2 → 2.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -17,3 +17,7 @@ man/*.1
17
17
  *.gemspec
18
18
  work/
19
19
  *.css
20
+ Gemfile*
21
+ .rvmrc
22
+ spec/data/mirror
23
+ spec/data/gemcutter
data/HISTORY.asciidoc CHANGED
@@ -2,6 +2,12 @@ Stickler Changelog
2
2
  ==================
3
3
  Jeremy Hinegardner <jeremy@hinegardner.org>
4
4
 
5
+ Version 2.1.3 - 2011-07-24
6
+ --------------------------
7
+ * Do not feed ARGV strings directly into Gem::Version (copiousfreetime/stickler#4)
8
+ * In web page, display gems in sort order, not lexical order (copiousfreetime/stickler#16)
9
+ * Make sure Rack body's respond to #each (copiousfreetime/stickler#17)
10
+
5
11
  Version 2.1.2 - 2011-03-31
6
12
  --------------------------
7
13
  * Fix bug introduced in 2.1.1 where .gemspec urls would match but .gem urls would not
data/README.asciidoc CHANGED
@@ -132,6 +132,13 @@ View which manual?
132
132
  >
133
133
  ---------------------------------
134
134
 
135
+ Development
136
+ -----------
137
+ If you want to do development on stickler, I suggest using
138
+ https://rvm.beginrescueend.com/[RVM] and creating a gemset for stickler.
139
+
140
+ Then run 'rake how_to_contribute'
141
+
135
142
 
136
143
  Credits
137
144
  -------
data/Rakefile CHANGED
@@ -1,7 +1,9 @@
1
1
  begin
2
+ USING_BONES_VERSION = '3.7.0'
2
3
  require 'bones'
3
4
  rescue LoadError
4
- abort '### Please install the "bones" gem ###'
5
+ load 'tasks/contribute.rake'
6
+ Rake.application.invoke_task( :help )
5
7
  end
6
8
 
7
9
  task :default => 'spec:run'
@@ -36,16 +38,24 @@ Primarily, you would want to use Stickler if:
36
38
  3. You want both (1) and (2) in the same server.
37
39
  _
38
40
 
41
+ # I'm explicitly controlling the version of bones.
42
+
39
43
 
40
44
  depend_on 'sinatra' , '~> 1.2.1'
41
45
  depend_on 'addressable', '~> 2.2.4'
42
- depend_on 'excon' , '~> 0.5.8'
46
+ depend_on 'excon' , '~> 0.6.5'
43
47
  depend_on 'trollop' , '~> 1.16.2'
44
48
  depend_on 'logging' , '~> 1.5.0'
45
49
 
46
- depend_on 'bones' , '~> 3.6.5', :development => true
47
- depend_on 'rack-test' , '~> 0.5.7', :development => true
50
+ depend_on 'rake' , '~> 0.9.2'
51
+ depend_on 'bones' , "~> #{USING_BONES_VERSION}", :development => true
52
+ depend_on 'rack-test' , '~> 0.6.0', :development => true
48
53
  depend_on 'bones-extras', '~> 1.3.0', :development => true
49
54
  depend_on 'builder' , '~> 3.0.0', :development => true
50
- depend_on 'rspec' , '~> 2.5.0', :development => true
55
+ depend_on 'rspec' , '~> 2.6.0', :development => true
51
56
  }
57
+
58
+ # Sorry Tim, I need to manage my own bones version
59
+ ::Bones.config.gem._spec.dependencies.delete_if do |d|
60
+ d.name == 'bones' and d.requirement.to_s =~ /^>=/
61
+ end
@@ -12,8 +12,11 @@ module Stickler
12
12
  ::Stickler::Client::ConfigFile.new
13
13
  end
14
14
 
15
+ # Create a new client
16
+ #
17
+ # Takes an argv like array as a parameter.
15
18
  def initialize( argv = ARGV )
16
- @argv = argv
19
+ @argv = argv.collect { |e| e.dup }
17
20
  end
18
21
 
19
22
  def parser
@@ -24,6 +24,7 @@ module Stickler::Middleware
24
24
  stream = Gem.deflate( body.first )
25
25
  end
26
26
  end
27
+ stream = [ stream.to_s ] unless stream.respond_to?( :each )
27
28
  return [ status, headers, stream ]
28
29
  end
29
30
  end
@@ -22,7 +22,7 @@
22
22
  <li <%= 'class="stripe"' if 1 == (idx % 2 )%> >
23
23
  <div class="gem">
24
24
  <div class="name"><h3><%= spec_group.first.name %></h3></div>
25
- <div class="version"><strong>Version(s):</strong><br /><%= spec_group.sort_by{ |spec| spec.full_name }.collect{ |spec| "<a href=\"/gems/#{spec.file_name}\">#{spec.version_platform}</a>" }.reverse.join(" ") %></strong></div>
25
+ <div class="version"><strong>Version(s):</strong><br /><%= spec_group.sort.collect{ |spec| "<a href=\"/gems/#{spec.file_name}\">#{spec.version_platform}</a>" }.reverse.join(" ") %></strong></div>
26
26
  </div>
27
27
  </li>
28
28
  <% end %>
@@ -35,7 +35,6 @@
35
35
 
36
36
  <div class="container">
37
37
  <%= yield %>
38
- </div>
39
38
  </div> <!--! end of #container -->
40
39
 
41
40
  </body>
@@ -12,7 +12,7 @@ module Stickler
12
12
 
13
13
  MAJOR = 2
14
14
  MINOR = 1
15
- BUILD = 2
15
+ BUILD = 3
16
16
 
17
17
  def self.to_ary
18
18
  [ MAJOR, MINOR, BUILD ]
@@ -86,4 +86,13 @@ describe Stickler::SpecLite do
86
86
  spec = Stickler::SpecLite.new( 'prerelease', '1.2.3' )
87
87
  spec.should_not be_prerelease
88
88
  end
89
+
90
+ it "needs to be version sortable" do
91
+ a = Stickler::SpecLite.new( "foo", "1.0.3" )
92
+ b = Stickler::SpecLite.new( "foo", "1.0.22" )
93
+ c = Stickler::SpecLite.new( "foo", "1.0.17" )
94
+
95
+ [ b, a, c ].sort.should == [ a, c, b ]
96
+
97
+ end
89
98
  end
@@ -0,0 +1,13 @@
1
+ namespace :bundle do
2
+
3
+ file 'Gemfile' => [ 'gem:spec' ] do
4
+ File.open( 'Gemfile', 'w+' ) do |f|
5
+ f.puts 'source "http://rubygems.org"'
6
+ f.puts 'gemspec'
7
+ end
8
+ end
9
+
10
+ desc "Create a bundler Gemfile"
11
+ task :gemfile => 'Gemfile'
12
+
13
+ end
@@ -0,0 +1,36 @@
1
+ desc "Instructions on how to contribute to stickler"
2
+ task :help do
3
+ abort <<-_banner
4
+ -----------------------------------------------------------------------
5
+ I see you are wanting to do some development on stickler. You will
6
+ need to install the 'bones' gem first.
7
+
8
+ % gem install bones -v #{USING_BONES_VERSION}
9
+
10
+ The easiest way to start after that is with the
11
+ 'install:dependencies' task:
12
+
13
+ % rake gem:install_dependencies
14
+
15
+ If you use bundler, then you will need to first create the Gemfile
16
+ and then run 'bundle install':
17
+
18
+ % rake bundle:gemfile
19
+ % bundle install
20
+
21
+ Now you are ready to work on stickler. Please submit bugs and pull
22
+ requests to:
23
+
24
+ https://github.com/copiousfreetime/stickler
25
+
26
+ Thanks!
27
+
28
+ -jeremy
29
+ -----------------------------------------------------------------------
30
+ _banner
31
+ end
32
+
33
+ desc "(Alias for 'help') Instructions on how to contribute to stickler"
34
+ task 'how_to_contribute' => :help
35
+ desc "(Alias for 'help') Instructions on how to contribute to stickler"
36
+ task '==> I WANT TO CONTRIBUTE <==' => :help
metadata CHANGED
@@ -1,217 +1,149 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: stickler
3
- version: !ruby/object:Gem::Version
4
- hash: 15
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.3
5
5
  prerelease:
6
- segments:
7
- - 2
8
- - 1
9
- - 2
10
- version: 2.1.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jeremy Hinegardner
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-03-31 00:00:00 -06:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2011-07-24 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: sinatra
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2158143400 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
18
+ requirements:
27
19
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 29
30
- segments:
31
- - 1
32
- - 2
33
- - 1
20
+ - !ruby/object:Gem::Version
34
21
  version: 1.2.1
35
22
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: addressable
39
23
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *2158143400
25
+ - !ruby/object:Gem::Dependency
26
+ name: addressable
27
+ requirement: &2158142480 !ruby/object:Gem::Requirement
41
28
  none: false
42
- requirements:
29
+ requirements:
43
30
  - - ~>
44
- - !ruby/object:Gem::Version
45
- hash: 15
46
- segments:
47
- - 2
48
- - 2
49
- - 4
31
+ - !ruby/object:Gem::Version
50
32
  version: 2.2.4
51
33
  type: :runtime
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- name: excon
55
34
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *2158142480
36
+ - !ruby/object:Gem::Dependency
37
+ name: excon
38
+ requirement: &2158141660 !ruby/object:Gem::Requirement
57
39
  none: false
58
- requirements:
40
+ requirements:
59
41
  - - ~>
60
- - !ruby/object:Gem::Version
61
- hash: 27
62
- segments:
63
- - 0
64
- - 5
65
- - 8
66
- version: 0.5.8
42
+ - !ruby/object:Gem::Version
43
+ version: 0.6.5
67
44
  type: :runtime
68
- version_requirements: *id003
69
- - !ruby/object:Gem::Dependency
70
- name: trollop
71
45
  prerelease: false
72
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *2158141660
47
+ - !ruby/object:Gem::Dependency
48
+ name: trollop
49
+ requirement: &2158140940 !ruby/object:Gem::Requirement
73
50
  none: false
74
- requirements:
51
+ requirements:
75
52
  - - ~>
76
- - !ruby/object:Gem::Version
77
- hash: 83
78
- segments:
79
- - 1
80
- - 16
81
- - 2
53
+ - !ruby/object:Gem::Version
82
54
  version: 1.16.2
83
55
  type: :runtime
84
- version_requirements: *id004
85
- - !ruby/object:Gem::Dependency
86
- name: logging
87
56
  prerelease: false
88
- requirement: &id005 !ruby/object:Gem::Requirement
57
+ version_requirements: *2158140940
58
+ - !ruby/object:Gem::Dependency
59
+ name: logging
60
+ requirement: &2158140300 !ruby/object:Gem::Requirement
89
61
  none: false
90
- requirements:
62
+ requirements:
91
63
  - - ~>
92
- - !ruby/object:Gem::Version
93
- hash: 3
94
- segments:
95
- - 1
96
- - 5
97
- - 0
64
+ - !ruby/object:Gem::Version
98
65
  version: 1.5.0
99
66
  type: :runtime
100
- version_requirements: *id005
101
- - !ruby/object:Gem::Dependency
102
- name: bones
103
67
  prerelease: false
104
- requirement: &id006 !ruby/object:Gem::Requirement
68
+ version_requirements: *2158140300
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: &2158139480 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 0.9.2
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: *2158139480
80
+ - !ruby/object:Gem::Dependency
81
+ name: bones
82
+ requirement: &2158138500 !ruby/object:Gem::Requirement
105
83
  none: false
106
- requirements:
84
+ requirements:
107
85
  - - ~>
108
- - !ruby/object:Gem::Version
109
- hash: 21
110
- segments:
111
- - 3
112
- - 6
113
- - 5
114
- version: 3.6.5
86
+ - !ruby/object:Gem::Version
87
+ version: 3.7.0
115
88
  type: :development
116
- version_requirements: *id006
117
- - !ruby/object:Gem::Dependency
118
- name: rack-test
119
89
  prerelease: false
120
- requirement: &id007 !ruby/object:Gem::Requirement
90
+ version_requirements: *2158138500
91
+ - !ruby/object:Gem::Dependency
92
+ name: rack-test
93
+ requirement: &2158137600 !ruby/object:Gem::Requirement
121
94
  none: false
122
- requirements:
95
+ requirements:
123
96
  - - ~>
124
- - !ruby/object:Gem::Version
125
- hash: 5
126
- segments:
127
- - 0
128
- - 5
129
- - 7
130
- version: 0.5.7
97
+ - !ruby/object:Gem::Version
98
+ version: 0.6.0
131
99
  type: :development
132
- version_requirements: *id007
133
- - !ruby/object:Gem::Dependency
134
- name: bones-extras
135
100
  prerelease: false
136
- requirement: &id008 !ruby/object:Gem::Requirement
101
+ version_requirements: *2158137600
102
+ - !ruby/object:Gem::Dependency
103
+ name: bones-extras
104
+ requirement: &2158136260 !ruby/object:Gem::Requirement
137
105
  none: false
138
- requirements:
106
+ requirements:
139
107
  - - ~>
140
- - !ruby/object:Gem::Version
141
- hash: 27
142
- segments:
143
- - 1
144
- - 3
145
- - 0
108
+ - !ruby/object:Gem::Version
146
109
  version: 1.3.0
147
110
  type: :development
148
- version_requirements: *id008
149
- - !ruby/object:Gem::Dependency
150
- name: builder
151
111
  prerelease: false
152
- requirement: &id009 !ruby/object:Gem::Requirement
112
+ version_requirements: *2158136260
113
+ - !ruby/object:Gem::Dependency
114
+ name: builder
115
+ requirement: &2158135360 !ruby/object:Gem::Requirement
153
116
  none: false
154
- requirements:
117
+ requirements:
155
118
  - - ~>
156
- - !ruby/object:Gem::Version
157
- hash: 7
158
- segments:
159
- - 3
160
- - 0
161
- - 0
119
+ - !ruby/object:Gem::Version
162
120
  version: 3.0.0
163
121
  type: :development
164
- version_requirements: *id009
165
- - !ruby/object:Gem::Dependency
166
- name: rspec
167
122
  prerelease: false
168
- requirement: &id010 !ruby/object:Gem::Requirement
123
+ version_requirements: *2158135360
124
+ - !ruby/object:Gem::Dependency
125
+ name: rspec
126
+ requirement: &2158134380 !ruby/object:Gem::Requirement
169
127
  none: false
170
- requirements:
128
+ requirements:
171
129
  - - ~>
172
- - !ruby/object:Gem::Version
173
- hash: 27
174
- segments:
175
- - 2
176
- - 5
177
- - 0
178
- version: 2.5.0
130
+ - !ruby/object:Gem::Version
131
+ version: 2.6.0
179
132
  type: :development
180
- version_requirements: *id010
181
- - !ruby/object:Gem::Dependency
182
- name: bones
183
133
  prerelease: false
184
- requirement: &id011 !ruby/object:Gem::Requirement
185
- none: false
186
- requirements:
187
- - - ">="
188
- - !ruby/object:Gem::Version
189
- hash: 21
190
- segments:
191
- - 3
192
- - 6
193
- - 5
194
- version: 3.6.5
195
- type: :development
196
- version_requirements: *id011
197
- description: |
198
- Stickler is a tool to organize and maintain an internal gem repository.
199
- Primarily, you would want to use Stickler if:
200
-
201
- 1. You have proprietary gems that you want to have available via a gem server so
202
- you may +gem install+ them.
203
- 2. You would like to have a local mirror of third party gems from either
204
- http://rubygems.org or some other gem server.
205
- 3. You want both (1) and (2) in the same server.
206
-
134
+ version_requirements: *2158134380
135
+ description: ! "Stickler is a tool to organize and maintain an internal gem repository.\nPrimarily,
136
+ you would want to use Stickler if:\n\n1. You have proprietary gems that you want
137
+ to have available via a gem server so \n you may +gem install+ them.\n2. You would
138
+ like to have a local mirror of third party gems from either \n http://rubygems.org
139
+ or some other gem server.\n3. You want both (1) and (2) in the same server.\n"
207
140
  email: jeremy@hinegardner.org
208
- executables:
141
+ executables:
209
142
  - stickler
210
143
  - stickler-passenger-config
211
144
  - stickler-server
212
145
  extensions: []
213
-
214
- extra_rdoc_files:
146
+ extra_rdoc_files:
215
147
  - bin/stickler
216
148
  - bin/stickler-passenger-config
217
149
  - bin/stickler-server
@@ -224,9 +156,9 @@ extra_rdoc_files:
224
156
  - lib/stickler/server/public/js/modernizr-1.5.min.js
225
157
  - lib/stickler/server/views/index.erb
226
158
  - lib/stickler/server/views/layout.erb
227
- files:
228
- - .bnsignore
159
+ files:
229
160
  - .gitignore
161
+ - .rvmrc
230
162
  - HISTORY.asciidoc
231
163
  - LICENSE
232
164
  - README.asciidoc
@@ -288,6 +220,8 @@ files:
288
220
  - man/stickler-server.asciidoc
289
221
  - man/stickler.1
290
222
  - man/stickler.asciidoc
223
+ - spec/data/gemcutter/gems/foo-1.0.0.gem
224
+ - spec/data/gemcutter/specifications/foo-1.0.0.gemspec
291
225
  - spec/data/gems/bar-1.0.0.gem
292
226
  - spec/data/gems/baz-3.1.4-java.gem
293
227
  - spec/data/gems/foo-1.0.0.gem
@@ -310,45 +244,37 @@ files:
310
244
  - spec/spec_helper.rb
311
245
  - spec/spec_lite_spec.rb
312
246
  - tasks/asciidoc.rake
247
+ - tasks/bundler.rake
248
+ - tasks/contribute.rake
313
249
  - tasks/man.rake
314
250
  - work/mirror/gems/hitimes-1.1.1.gem
315
251
  - work/mirror/gems/rails-3.0.3.gem
316
252
  - work/mirror/specifications/hitimes-1.1.1.gemspec
317
253
  - work/mirror/specifications/rails-3.0.3.gemspec
318
- has_rdoc: true
319
254
  homepage: http://www.copiousfreetime.org/projects/stickler
320
255
  licenses: []
321
-
322
256
  post_install_message:
323
- rdoc_options:
257
+ rdoc_options:
324
258
  - --main
325
259
  - README.asciidoc
326
- require_paths:
260
+ require_paths:
327
261
  - lib
328
- required_ruby_version: !ruby/object:Gem::Requirement
262
+ required_ruby_version: !ruby/object:Gem::Requirement
329
263
  none: false
330
- requirements:
331
- - - ">="
332
- - !ruby/object:Gem::Version
333
- hash: 3
334
- segments:
335
- - 0
336
- version: "0"
337
- required_rubygems_version: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - ! '>='
266
+ - !ruby/object:Gem::Version
267
+ version: '0'
268
+ required_rubygems_version: !ruby/object:Gem::Requirement
338
269
  none: false
339
- requirements:
340
- - - ">="
341
- - !ruby/object:Gem::Version
342
- hash: 3
343
- segments:
344
- - 0
345
- version: "0"
270
+ requirements:
271
+ - - ! '>='
272
+ - !ruby/object:Gem::Version
273
+ version: '0'
346
274
  requirements: []
347
-
348
275
  rubyforge_project: stickler
349
- rubygems_version: 1.5.2
276
+ rubygems_version: 1.8.5
350
277
  signing_key:
351
278
  specification_version: 3
352
279
  summary: Stickler is a tool to organize and maintain an internal gem repository.
353
280
  test_files: []
354
-
data/.bnsignore DELETED
@@ -1,14 +0,0 @@
1
- *~
2
- pkg
3
- log
4
- doc
5
- coverage
6
- *.swp
7
- *.swo
8
- .*.swp
9
- announcement.txt
10
- spec/tmp
11
- version.txt
12
- *.pid
13
- tmp
14
- *.html