geminabox-inflection 0.11.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.
data/public/master.js ADDED
@@ -0,0 +1,5 @@
1
+ (function($) {
2
+ $("form.delete-form").submit(function() {
3
+ return confirm("Are you sure you want to delete this gem?");
4
+ });
5
+ })(jQuery);
data/views/atom.erb ADDED
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <feed xmlns="http://www.w3.org/2005/Atom">
4
+ <title>Gem in a Box</title>
5
+ <link href="<%= url '/atom.xml' %>" rel="self" />
6
+ <link href="<%= url '/' %>" />
7
+ <id><%= url '/atom.xml' %></id>
8
+ <% @gems.by_name do |name, versions| %>
9
+ <% spec = spec_for(name, versions.newest.number) %>
10
+ <entry>
11
+ <id><%= name %></id>
12
+ <updated><%= spec.date.w3cdtf %></updated>
13
+ <title><%= name %> (<%= versions.size == 1 ? versions.oldest.number : "#{versions.oldest.number} - #{versions.newest.number}" %>)</title>
14
+ <author><name><%= spec.authors.join(", ") %></name></author>
15
+ <% versions.each do |version| %>
16
+ <link href="<%= url "/gems/#{name}-#{version.number}.gem" %>" />
17
+ <% end %>
18
+ </entry>
19
+ <% end %>
20
+
21
+ <updated>
22
+ <% if newest_gem = @gems.newest %>
23
+ <%= spec_for(newest_gem.name, newest_gem.number).date.w3cdtf %>
24
+ <% else %>
25
+ <%= Date.today %>
26
+ <% end %>
27
+ </updated>
28
+ </feed>
data/views/gem.erb ADDED
@@ -0,0 +1,37 @@
1
+ <p>
2
+ <a href="/">Back to Gem Index</a>
3
+ </p>
4
+
5
+ <ul class="gemlist">
6
+ <% @gem.by_name do |name, versions| %>
7
+ <li class="gem-version">
8
+ <h2><%= name %> (<%= versions.count == 1 ? versions.first.number : "#{versions.oldest.number} - #{versions.newest.number}" %>)</h2>
9
+ <% versions.each.reverse_each do |version| %>
10
+ <p>
11
+ <code>gem install <%= version.name %> <%= "--prerelease" if version.number.to_s.match(/[a-z]/i) %> -v "<%= version.number %>"</code>
12
+ <% unless version.platform =~ /^ruby/i %>
13
+ <small class="platform"><%= version.platform %></small>
14
+ <% end %>
15
+ </p>
16
+ <form class="delete-form" method="post" action="<%= url("/gems/#{version.gemfile_name}.gem") %>">
17
+ <a class="download" href="<%= url("/gems/#{version.gemfile_name}.gem") %>">download</a>
18
+ <input type="hidden" name="_method" value="DELETE" />
19
+ <button type="submit">delete</button>
20
+ </form>
21
+ <% end %>
22
+
23
+ <div class="details">
24
+ <p>
25
+ <% if spec = spec_for(name, versions.newest.number) %>
26
+ <%= spec.description %>
27
+ <br/>
28
+ <span class="author">– <%= spec.authors.map do |author|
29
+ "<a href='#{spec.homepage}'>#{author}</a>"
30
+ end.join(', ') %></span>
31
+ <% end %>
32
+ </p>
33
+ </div>
34
+
35
+ </li>
36
+ <% end %>
37
+ </ul>
data/views/index.erb ADDED
@@ -0,0 +1,55 @@
1
+ <p>
2
+ <small>If you did not need any credentials to get to this page</small>
3
+ <pre><code>gem sources -a <%= url "/" %></code></pre>
4
+ <small>If you needed some credentials to get to this page</small>
5
+ <pre><code>gem sources -a <%= url.to_s.gsub('://','://username:password@') %></code></pre>
6
+ <small>and then ...</small>
7
+ <pre><code>gem install geminabox<br />gem inabox [gemfile]</code></pre>
8
+ </p>
9
+
10
+ <% if @gems.any? %>
11
+ <a href="<%= url("/upload") %>">Upload Another Gem</a>
12
+
13
+ <div id="alpha_index"><%= ("a".."z").map{|i| @index_gems.include?(i) ? "<a href='#jump_#{i}'>#{i}</a>" : i }.join(" - ") %></div>
14
+
15
+ <ul class="gemlist">
16
+
17
+ <% @gems.by_name do |name, versions| %>
18
+ <li <%= %{id="jump_#{name[0..0].downcase}"} if @index_gems.delete(name[0..0].downcase) %> class="gem-version">
19
+ <h2><%= name %> (<%= versions.count == 1 ? versions.first.number : "#{versions.oldest.number} - #{versions.newest.number}" %>)</h2>
20
+ <% versions.each.reverse_each.first(5).each do |version| %>
21
+ <p>
22
+ <code>gem install <%= version.name %> <%= "--prerelease" if version.number.to_s.match(/[a-z]/i) %> -v "<%= version.number %>"</code>
23
+ <% unless version.platform =~ /^ruby/i %>
24
+ <small class="platform"><%= version.platform %></small>
25
+ <% end %>
26
+ </p>
27
+ <form class="delete-form" method="post" action="<%= url("/gems/#{version.gemfile_name}.gem") %>">
28
+ <a class="download" href="<%= url("/gems/#{version.gemfile_name}.gem") %>">download</a>
29
+ <input type="hidden" name="_method" value="DELETE" />
30
+ <button type="submit">delete</button>
31
+ </form>
32
+ <% end %>
33
+
34
+ <% if versions.count > 5 %>
35
+ <a href="<%= url("/gems/#{name}") %>" id="more_link">Older versions...</a>
36
+ <% end %>
37
+
38
+ <div class="details">
39
+ <p>
40
+ <% if spec = spec_for(name, versions.newest.number) %>
41
+ <%= spec.description %>
42
+ <br/>
43
+ <span class="author">– <%= spec.authors.map do |author|
44
+ "<a href='#{spec.homepage}'>#{author}</a>"
45
+ end.join(', ') %></span>
46
+ <% end %>
47
+ </p>
48
+ </div>
49
+
50
+ </li>
51
+ <% end %>
52
+ </ul>
53
+ <% end %>
54
+
55
+ <a href="<%= url("/upload") %>">Upload Another Gem</a>
data/views/layout.erb ADDED
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
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">
7
+ </head>
8
+ <body>
9
+ <div id="content">
10
+ <h1>Gem in a Box</h1>
11
+ <%= yield %>
12
+ </div>
13
+ <script type="text/javascript" src="<%= url "/jquery.js" %>"></script>
14
+ <script type="text/javascript" src="<%= url "/master.js" %>"></script>
15
+ </body>
16
+ </html>
data/views/upload.erb ADDED
@@ -0,0 +1,8 @@
1
+ <p>
2
+ <small>Choose a gem file to upload ...</small>
3
+ </p>
4
+ <%= @error %>
5
+ <form method="POST" enctype="multipart/form-data">
6
+ <input type="file" name="file">
7
+ <input type="submit" value="Upload">
8
+ </form>
metadata ADDED
@@ -0,0 +1,215 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: geminabox-inflection
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.11.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Tom Lea
9
+ - Jack Foy
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2013-09-26 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: sinatra
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ! '>='
29
+ - !ruby/object:Gem::Version
30
+ version: '0'
31
+ - !ruby/object:Gem::Dependency
32
+ name: builder
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: httpclient
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.2.7
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: 2.2.7
63
+ - !ruby/object:Gem::Dependency
64
+ name: rake
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ - !ruby/object:Gem::Dependency
80
+ name: rack-test
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: minitest
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: capybara
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ! '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: capybara-mechanize
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ - !ruby/object:Gem::Dependency
144
+ name: pry
145
+ requirement: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ type: :development
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ! '>='
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ description: A sinatra based gem hosting app, with client side gem push style functionality.
160
+ email:
161
+ - contrib@tomlea.co.uk
162
+ - jack@foys.net
163
+ executables: []
164
+ extensions: []
165
+ extra_rdoc_files:
166
+ - README.markdown
167
+ files:
168
+ - README.markdown
169
+ - lib/geminabox/disk_cache.rb
170
+ - lib/geminabox/gem_version.rb
171
+ - lib/geminabox/gem_version_collection.rb
172
+ - lib/geminabox/incoming_gem.rb
173
+ - lib/geminabox/indexer.rb
174
+ - lib/geminabox/version.rb
175
+ - lib/geminabox-inflection.rb
176
+ - lib/geminabox_client.rb
177
+ - lib/hostess.rb
178
+ - lib/rubygems/commands/inabox_command.rb
179
+ - lib/rubygems_plugin.rb
180
+ - public/favicon.ico
181
+ - public/jquery.js
182
+ - public/master.css
183
+ - public/master.js
184
+ - views/atom.erb
185
+ - views/gem.erb
186
+ - views/index.erb
187
+ - views/layout.erb
188
+ - views/upload.erb
189
+ homepage: http://tomlea.co.uk/p/gem-in-a-box
190
+ licenses: []
191
+ post_install_message:
192
+ rdoc_options:
193
+ - --main
194
+ - README.markdown
195
+ require_paths:
196
+ - lib
197
+ required_ruby_version: !ruby/object:Gem::Requirement
198
+ none: false
199
+ requirements:
200
+ - - ! '>='
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ required_rubygems_version: !ruby/object:Gem::Requirement
204
+ none: false
205
+ requirements:
206
+ - - ! '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ requirements: []
210
+ rubyforge_project:
211
+ rubygems_version: 1.8.24
212
+ signing_key:
213
+ specification_version: 3
214
+ summary: Really simple rubygem hosting
215
+ test_files: []