geminabox 0.12.0 → 0.12.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of geminabox might be problematic. Click here for more details.

@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NTgxZDliOWYxZTg4ZGVmZTdjNTZmMjFlZmUyNTc0NjAyYTA4ZDFiNQ==
5
+ data.tar.gz: !binary |-
6
+ M2FiNDQzOWY2MjE1MmY3MmNmYzlhNWY3MDA1ZjA2ZWUxOTU1MTVlNA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ ZTNkMTk1MDdhZGY1M2ZjMTFmMDgzMzBlMTVlNDQ1NDFlNWI5OTJlN2NmZjc0
10
+ YmZkYmIyNzA2MDg5ZDExY2MxMTVmNDQ3M2JhMjZlNzZkNDVmNTJhZTU3M2M2
11
+ ZWRjM2IzZDA5NTliN2E1ZTRiNGZkNWVkNzZjZjA2MjNmMTM0OGE=
12
+ data.tar.gz: !binary |-
13
+ N2U2ZDQ1Y2NkNGRkMTkxOGU3MWQ3MzAwN2I3NTE3ZTc4ZDllMmM1YTNiMzBj
14
+ N2I5OTVjNzMyZWE3YTc4MzViZmVhMDBiMjM5MzcwYTcyOWJlYzZkM2ZjNDVj
15
+ NWUwMjIyODkzYTg3NzVhYWViNjlmM2E1ZWYxMDFkZjAzYzU1MTU=
@@ -1,4 +1,5 @@
1
1
  require 'sinatra/base'
2
+ require 'net/http'
2
3
 
3
4
  module Geminabox
4
5
  module Proxy
@@ -58,7 +59,7 @@ module Geminabox
58
59
  file = File.expand_path(File.join(Server.data, *request.path_info))
59
60
 
60
61
  unless File.exists?(file)
61
- Net::HTTP.start("production.cf.rubygems.org") do |http|
62
+ ::Net::HTTP.start("production.cf.rubygems.org") do |http|
62
63
  path = File.join(*request.path_info)
63
64
  response = http.get(path)
64
65
  GemStore.create(IncomingGem.new(StringIO.new(response.body)))
@@ -237,17 +237,23 @@ HTML
237
237
  end
238
238
 
239
239
  helpers do
240
- def spec_for(gem_name, version)
241
- spec_file = File.join(settings.data, "quick", "Marshal.#{Gem.marshal_version}", "#{gem_name}-#{version}.gemspec.rz")
240
+ def spec_for(gem_name, version, platform = default_platform)
241
+ filename = [gem_name, version]
242
+ filename.push(platform) if platform != default_platform
243
+ spec_file = File.join(settings.data, "quick", "Marshal.#{Gem.marshal_version}", "#{filename.join("-")}.gemspec.rz")
242
244
  Marshal.load(Gem.inflate(File.read(spec_file))) if File.exists? spec_file
243
245
  end
244
246
 
247
+ def default_platform
248
+ 'ruby'
249
+ end
250
+
245
251
  # Return a list of versions of gem 'gem_name' with the dependencies of each version.
246
252
  def gem_dependencies(gem_name)
247
253
  dependency_cache.marshal_cache(gem_name) do
248
254
  load_gems.
249
255
  select { |gem| gem_name == gem.name }.
250
- map { |gem| [gem, spec_for(gem.name, gem.number)] }.
256
+ map { |gem| [gem, spec_for(gem.name, gem.number, gem.platform)] }.
251
257
  reject { |(_, spec)| spec.nil? }.
252
258
  map do |(gem, spec)|
253
259
  {
@@ -1,3 +1,3 @@
1
1
  module Geminabox
2
- VERSION = '0.12.0' unless defined? VERSION
2
+ VERSION = '0.12.1' unless defined? VERSION
3
3
  end
@@ -6,21 +6,22 @@
6
6
  <link href="<%= url '/' %>" />
7
7
  <id><%= url '/atom.xml' %></id>
8
8
  <% @gems.by_name do |name, versions| %>
9
- <% spec = spec_for(name, versions.newest.number) %>
9
+ <% newest_gem = versions.newest %>
10
+ <% spec = spec_for(name, newest_gem.number, newest_gem.platform) %>
10
11
  <entry>
11
12
  <id><%= name %></id>
12
13
  <updated><%= spec.date.w3cdtf %></updated>
13
14
  <title><%= name %> (<%= versions.size == 1 ? versions.oldest.number : "#{versions.oldest.number} - #{versions.newest.number}" %>)</title>
14
15
  <author><name><%= spec.authors.join(", ") %></name></author>
15
16
  <% versions.each do |version| %>
16
- <link href="<%= url "/gems/#{name}-#{version.number}.gem" %>" />
17
+ <link href="<%= url "/gems/#{version.gemfile_name}.gem" %>" />
17
18
  <% end %>
18
19
  </entry>
19
20
  <% end %>
20
21
 
21
22
  <updated>
22
23
  <% if newest_gem = @gems.newest %>
23
- <%= spec_for(newest_gem.name, newest_gem.number).date.w3cdtf %>
24
+ <%= spec_for(newest_gem.name, newest_gem.number, newest_gem.platform).date.w3cdtf %>
24
25
  <% else %>
25
26
  <%= Date.today %>
26
27
  <% end %>
@@ -22,7 +22,8 @@
22
22
 
23
23
  <div class="details">
24
24
  <p>
25
- <% if spec = spec_for(name, versions.newest.number) %>
25
+ <% newest_gem = versions.newest %>
26
+ <% if spec = spec_for(name, newest_gem.number, newest_gem.platform) %>
26
27
  <%= spec.description %>
27
28
  <br/>
28
29
  <span class="author">– <%= spec.authors.map do |author|
@@ -37,7 +37,8 @@
37
37
 
38
38
  <div class="details">
39
39
  <p>
40
- <% if spec = spec_for(name, versions.newest.number) %>
40
+ <% newest_gem = versions.newest %>
41
+ <% if spec = spec_for(name, newest_gem.number, newest_gem.platform) %>
41
42
  <%= spec.description %>
42
43
  <br/>
43
44
  <span class="author">– <%= spec.authors.map do |author|
@@ -2,15 +2,15 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>Gem in a Box</title>
5
- <link rel="stylesheet" href="<%= url "/master.css" %>" type="text/css" media="screen">
6
- <link href="<%= url "/atom.xml" %>" type="application/atom+xml" rel="alternate" title="Atom Feed">
5
+ <link rel="stylesheet" href="<%= url "/master.css", false %>" type="text/css" media="screen">
6
+ <link href="<%= url "/atom.xml", false %>" type="application/atom+xml" rel="alternate" title="Atom Feed">
7
7
  </head>
8
8
  <body>
9
9
  <div id="content">
10
10
  <h1>Gem in a Box</h1>
11
11
  <%= yield %>
12
12
  </div>
13
- <script type="text/javascript" src="<%= url "/jquery.js" %>"></script>
14
- <script type="text/javascript" src="<%= url "/master.js" %>"></script>
13
+ <script type="text/javascript" src="<%= url "/jquery.js", false %>"></script>
14
+ <script type="text/javascript" src="<%= url "/master.js", false %>"></script>
15
15
  </body>
16
16
  </html>
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geminabox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
5
- prerelease:
4
+ version: 0.12.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Tom Lea
@@ -11,12 +10,11 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2013-11-21 00:00:00.000000000 Z
13
+ date: 2013-11-25 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: sinatra
18
17
  requirement: !ruby/object:Gem::Requirement
19
- none: false
20
18
  requirements:
21
19
  - - ! '>='
22
20
  - !ruby/object:Gem::Version
@@ -24,7 +22,6 @@ dependencies:
24
22
  type: :runtime
25
23
  prerelease: false
26
24
  version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
25
  requirements:
29
26
  - - ! '>='
30
27
  - !ruby/object:Gem::Version
@@ -32,7 +29,6 @@ dependencies:
32
29
  - !ruby/object:Gem::Dependency
33
30
  name: builder
34
31
  requirement: !ruby/object:Gem::Requirement
35
- none: false
36
32
  requirements:
37
33
  - - ! '>='
38
34
  - !ruby/object:Gem::Version
@@ -40,7 +36,6 @@ dependencies:
40
36
  type: :runtime
41
37
  prerelease: false
42
38
  version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
39
  requirements:
45
40
  - - ! '>='
46
41
  - !ruby/object:Gem::Version
@@ -48,7 +43,6 @@ dependencies:
48
43
  - !ruby/object:Gem::Dependency
49
44
  name: httpclient
50
45
  requirement: !ruby/object:Gem::Requirement
51
- none: false
52
46
  requirements:
53
47
  - - ! '>='
54
48
  - !ruby/object:Gem::Version
@@ -56,7 +50,6 @@ dependencies:
56
50
  type: :runtime
57
51
  prerelease: false
58
52
  version_requirements: !ruby/object:Gem::Requirement
59
- none: false
60
53
  requirements:
61
54
  - - ! '>='
62
55
  - !ruby/object:Gem::Version
@@ -64,7 +57,6 @@ dependencies:
64
57
  - !ruby/object:Gem::Dependency
65
58
  name: nesty
66
59
  requirement: !ruby/object:Gem::Requirement
67
- none: false
68
60
  requirements:
69
61
  - - ! '>='
70
62
  - !ruby/object:Gem::Version
@@ -72,7 +64,6 @@ dependencies:
72
64
  type: :runtime
73
65
  prerelease: false
74
66
  version_requirements: !ruby/object:Gem::Requirement
75
- none: false
76
67
  requirements:
77
68
  - - ! '>='
78
69
  - !ruby/object:Gem::Version
@@ -80,7 +71,6 @@ dependencies:
80
71
  - !ruby/object:Gem::Dependency
81
72
  name: rake
82
73
  requirement: !ruby/object:Gem::Requirement
83
- none: false
84
74
  requirements:
85
75
  - - ! '>='
86
76
  - !ruby/object:Gem::Version
@@ -88,7 +78,6 @@ dependencies:
88
78
  type: :development
89
79
  prerelease: false
90
80
  version_requirements: !ruby/object:Gem::Requirement
91
- none: false
92
81
  requirements:
93
82
  - - ! '>='
94
83
  - !ruby/object:Gem::Version
@@ -96,7 +85,6 @@ dependencies:
96
85
  - !ruby/object:Gem::Dependency
97
86
  name: pry
98
87
  requirement: !ruby/object:Gem::Requirement
99
- none: false
100
88
  requirements:
101
89
  - - ! '>='
102
90
  - !ruby/object:Gem::Version
@@ -104,7 +92,6 @@ dependencies:
104
92
  type: :development
105
93
  prerelease: false
106
94
  version_requirements: !ruby/object:Gem::Requirement
107
- none: false
108
95
  requirements:
109
96
  - - ! '>='
110
97
  - !ruby/object:Gem::Version
@@ -122,38 +109,39 @@ files:
122
109
  - MIT-LICENSE
123
110
  - README.markdown
124
111
  - lib/rubygems_plugin.rb
125
- - lib/rubygems/commands/inabox_command.rb
126
- - lib/geminabox/proxy.rb
127
- - lib/geminabox/server.rb
128
- - lib/geminabox/gem_list_merge.rb
129
- - lib/geminabox/indexer.rb
130
- - lib/geminabox/incoming_gem.rb
112
+ - lib/geminabox/version.rb
131
113
  - lib/geminabox/gem_store_error.rb
114
+ - lib/geminabox/incoming_gem.rb
132
115
  - lib/geminabox/gem_version.rb
133
116
  - lib/geminabox/hostess.rb
134
- - lib/geminabox/gem_store.rb
135
- - lib/geminabox/version.rb
136
- - lib/geminabox/proxy/copier.rb
137
- - lib/geminabox/proxy/hostess.rb
117
+ - lib/geminabox/indexer.rb
118
+ - lib/geminabox/gem_list_merge.rb
119
+ - lib/geminabox/rubygems_dependency.rb
120
+ - lib/geminabox/proxy.rb
138
121
  - lib/geminabox/proxy/file_handler.rb
122
+ - lib/geminabox/proxy/hostess.rb
123
+ - lib/geminabox/proxy/copier.rb
139
124
  - lib/geminabox/proxy/splicer.rb
140
125
  - lib/geminabox/gem_version_collection.rb
141
- - lib/geminabox/rubygems_dependency.rb
126
+ - lib/geminabox/server.rb
142
127
  - lib/geminabox/disk_cache.rb
128
+ - lib/geminabox/gem_store.rb
129
+ - lib/rubygems/commands/inabox_command.rb
143
130
  - lib/geminabox_client.rb
144
131
  - lib/geminabox.rb
145
132
  - public/master.js
146
- - public/jquery.js
147
133
  - public/master.css
134
+ - public/jquery.js
148
135
  - public/favicon.ico
136
+ - views/atom.erb
137
+ - views/gem.erb
149
138
  - views/upload.erb
150
139
  - views/layout.erb
151
140
  - views/index.erb
152
- - views/gem.erb
153
- - views/atom.erb
154
141
  homepage: http://tomlea.co.uk/p/gem-in-a-box
155
142
  licenses:
156
143
  - MIT-LICENSE
144
+ metadata: {}
157
145
  post_install_message:
158
146
  rdoc_options:
159
147
  - --main
@@ -161,21 +149,19 @@ rdoc_options:
161
149
  require_paths:
162
150
  - lib
163
151
  required_ruby_version: !ruby/object:Gem::Requirement
164
- none: false
165
152
  requirements:
166
153
  - - ! '>='
167
154
  - !ruby/object:Gem::Version
168
155
  version: '0'
169
156
  required_rubygems_version: !ruby/object:Gem::Requirement
170
- none: false
171
157
  requirements:
172
158
  - - ! '>='
173
159
  - !ruby/object:Gem::Version
174
160
  version: '0'
175
161
  requirements: []
176
162
  rubyforge_project:
177
- rubygems_version: 1.8.23
163
+ rubygems_version: 2.1.10
178
164
  signing_key:
179
- specification_version: 3
165
+ specification_version: 4
180
166
  summary: Really simple rubygem hosting
181
167
  test_files: []