geminabox 0.3.3 → 0.4.0
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.
Potentially problematic release.
This version of geminabox might be problematic. Click here for more details.
- data/lib/geminabox.rb +3 -15
- data/lib/rubygems/commands/inabox_command.rb +1 -1
- data/public/master.css +20 -6
- data/views/index.erb +10 -9
- data/views/layout.erb +5 -5
- metadata +5 -5
    
        data/lib/geminabox.rb
    CHANGED
    
    | @@ -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 | 
             
                    }
         | 
    
        data/public/master.css
    CHANGED
    
    | @@ -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  | 
| 90 | 
            -
             | 
| 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 | 
            -
             | 
| 101 | 
            -
             | 
| 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  | 
| 135 | 
            +
            .gem-version p {
         | 
| 122 136 | 
             
              margin: 0;
         | 
| 123 137 | 
             
              padding: 1px 0;
         | 
| 124 138 | 
             
              border: 0;
         | 
    
        data/views/index.erb
    CHANGED
    
    | @@ -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 | 
            -
                      < | 
| 13 | 
            -
                        < | 
| 14 | 
            -
             | 
| 15 | 
            -
                           | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 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>
         | 
    
        data/views/layout.erb
    CHANGED
    
    | @@ -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 <%=  | 
| 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:  | 
| 4 | 
            +
              hash: 15
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 | 
            -
              -  | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0. | 
| 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- | 
| 18 | 
            +
            date: 2011-12-14 00:00:00 Z
         | 
| 19 19 | 
             
            dependencies: 
         | 
| 20 20 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 21 21 | 
             
              name: sinatra
         |