stickler 2.1.2 → 2.1.3

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