geminabox 0.3.3 → 0.4.0

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.

@@ -49,13 +49,13 @@ class Geminabox < Sinatra::Base
49
49
 
50
50
  get '/reindex' do
51
51
  reindex
52
- redirect "/"
52
+ redirect url("/")
53
53
  end
54
54
 
55
55
  delete '/gems/*.gem' do
56
56
  File.delete file_path if File.exists? file_path
57
57
  reindex
58
- redirect "/"
58
+ redirect url("/")
59
59
  end
60
60
 
61
61
  post '/upload' do
@@ -89,7 +89,7 @@ class Geminabox < Sinatra::Base
89
89
  end
90
90
  end
91
91
  reindex
92
- redirect "/"
92
+ redirect url("/")
93
93
  end
94
94
 
95
95
  private
@@ -135,17 +135,5 @@ HTML
135
135
  spec_file = File.join(options.data, "quick", "Marshal.#{Gem.marshal_version}", "#{gem_name}-#{version}.gemspec.rz")
136
136
  Marshal.load(Gem.inflate(File.read(spec_file))) if File.exists? spec_file
137
137
  end
138
-
139
- def url_for(path)
140
- url = request.scheme + "://"
141
- url << request.host
142
-
143
- if request.scheme == "https" && request.port != 443 ||
144
- request.scheme == "http" && request.port != 80
145
- url << ":#{request.port}"
146
- end
147
-
148
- url << path
149
- end
150
138
  end
151
139
  end
@@ -63,7 +63,7 @@ class Gem::Commands::InaboxCommand < Gem::Command
63
63
  request_body, request_headers = Multipart::MultipartPost.new.prepare_query("file" => file)
64
64
 
65
65
  proxy.start(url.host, url.port) {|con|
66
- req = Net::HTTP::Post.new('/upload', request_headers)
66
+ req = Net::HTTP::Post.new(url.path+'/upload', request_headers)
67
67
  req.basic_auth(url.user, url.password) if url.user
68
68
  handle_response(con.request(req, request_body))
69
69
  }
@@ -83,11 +83,12 @@ ul.gemlist li strong {
83
83
 
84
84
  ul.gemlist li .delete-form {
85
85
  position: relative;
86
- overflow: hidden;
87
86
  margin: 2px 0;
88
87
  }
89
- ul.gemlist li .delete-form button {
90
- visibility: hidden;
88
+ ul.gemlist li button,
89
+ ul.gemlist li a.download
90
+ {
91
+ display: none;
91
92
  position: absolute;
92
93
  right: 0;
93
94
  bottom: 0;
@@ -96,9 +97,22 @@ ul.gemlist li .delete-form button {
96
97
  border: 0;
97
98
  color: #fff;
98
99
  margin: 0;
100
+ font-size: 8pt;
101
+ padding: 3px;
102
+ cursor: pointer;
103
+ }
104
+
105
+ ul.gemlist li a.download {
106
+ background: #5c5;
107
+ border-radius: .5em 0 0 .5em; -moz-border-radius: .5em 0 0 .5em; -webkit-border-radius: 0 .5em .5em 0;
108
+ left: 0;
109
+ right: auto;
99
110
  }
100
- ul.gemlist li .delete-form:hover button {
101
- visibility: visible;
111
+
112
+ ul.gemlist li:hover button,
113
+ ul.gemlist li:hover a.download {
114
+ margin: 0;
115
+ display: block;
102
116
  }
103
117
 
104
118
  .details {
@@ -118,7 +132,7 @@ ul.gemlist li .delete-form:hover button {
118
132
  }
119
133
 
120
134
 
121
- .gem-version form p {
135
+ .gem-version p {
122
136
  margin: 0;
123
137
  padding: 1px 0;
124
138
  border: 0;
@@ -1,5 +1,5 @@
1
1
  <% if @gems.any? %>
2
- <a href="upload">Upload Another Gem</a>
2
+ <a href="<%= url("/upload") %>">Upload Another Gem</a>
3
3
 
4
4
  <div id="alpha_index"><%= ("a".."z").map{|i| @index_gems.include?(i) ? "<a href='#jump_#{i}'>#{i}</a>" : i }.join(" - ") %></div>
5
5
 
@@ -9,13 +9,14 @@
9
9
  <li <%= %{id="jump_#{name[0..0]}"} if @index_gems.delete(name[0..0]) %> class="gem-version">
10
10
  <h2><%= name %> (<%= versions.count == 1 ? versions.first.number : "#{versions.first.number} - #{versions.first.number}" %>)</h2>
11
11
  <% versions.each do |version| %>
12
- <form class="delete-form" method="post" action="/gems/<%= version.gemfile_name %>.gem">
13
- <p>
14
- <code>gem install <%= version.name %> <%= "--prerelease" if version.number.to_s.match(/[a-z]/i) %> -v "<%= version.number %>"</code>
15
- <% unless version.platform =~ /^ruby/i %>
16
- <small class="platform"><%= version.platform %></small>
17
- <% end %>
18
- </p>
12
+ <p>
13
+ <code>gem install <%= version.name %> <%= "--prerelease" if version.number.to_s.match(/[a-z]/i) %> -v "<%= version.number %>"</code>
14
+ <% unless version.platform =~ /^ruby/i %>
15
+ <small class="platform"><%= version.platform %></small>
16
+ <% end %>
17
+ </p>
18
+ <form class="delete-form" method="post" action="<%= url("/gems/#{version.gemfile_name}.gem") %>">
19
+ <a class="download" href="<%= url("/gems/#{version.gemfile_name}.gem") %>">download</a>
19
20
  <input type="hidden" name="_method" value="DELETE" />
20
21
  <button type="submit">delete</button>
21
22
  </form>
@@ -38,4 +39,4 @@
38
39
  </ul>
39
40
  <% end %>
40
41
 
41
- <a href="upload">Upload Another Gem</a>
42
+ <a href="<%= url("/upload") %>">Upload Another Gem</a>
@@ -2,19 +2,19 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>Gem in a Box</title>
5
- <link rel="stylesheet" href="/master.css" type="text/css" media="screen">
6
- <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Atom Feed">
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">
7
7
  </head>
8
8
  <body>
9
9
  <div id="content">
10
10
  <h1>Gem in a Box</h1>
11
11
  <p>
12
- <pre><code>gem sources -a <%= url_for "/" %></code></pre>
12
+ <pre><code>gem sources -a <%= url "/" %></code></pre>
13
13
  <pre><code>gem install geminabox<br />gem inabox [gemfile]</code></pre>
14
14
  </p>
15
15
  <%= yield %>
16
16
  </div>
17
- <script type="text/javascript" src="/jquery.js"></script>
18
- <script type="text/javascript" src="/master.js"></script>
17
+ <script type="text/javascript" src="<%= url "/jquery.js" %>"></script>
18
+ <script type="text/javascript" src="<%= url "/master.js" %>"></script>
19
19
  </body>
20
20
  </html>
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geminabox
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 3
9
- - 3
10
- version: 0.3.3
8
+ - 4
9
+ - 0
10
+ version: 0.4.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tom Lea
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-12-06 00:00:00 Z
18
+ date: 2011-12-14 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: sinatra