jetpack 0.1.0 → 0.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 +2 -1
- data/LICENSE +14 -0
- data/README.markdown +35 -6
- data/Rakefile +14 -3
- data/bin/jetpack +39 -6
- data/bin_files/launch.erb +16 -0
- data/gems/bundler-1.1.0.gem +0 -0
- data/jetpack.gemspec +3 -3
- data/jetty_files/etc/fake.crt +31 -0
- data/jetty_files/etc/fake.jceks +0 -0
- data/jetty_files/etc/fake.key +51 -0
- data/jetty_files/etc/fake.pem +89 -0
- data/jetty_files/etc/jetty.xml.erb +53 -25
- data/jetty_files/jetty-init.erb +4 -0
- data/lib/jetpack/settings.rb +24 -10
- data/script/ci +1 -1
- data/spec/bundler_spec.rb +1 -1
- data/spec/filter_spec.rb +59 -0
- data/spec/rack_spec.rb +40 -0
- data/spec/sample_projects/has_gems_via_bundler/config/jetpack.yml +1 -1
- data/spec/sample_projects/has_gems_via_bundler_19/config/jetpack.yml +1 -1
- data/spec/sample_projects/has_gems_via_bundler_bad_gemfile_lock/config/jetpack.yml +1 -1
- data/spec/sample_projects/no_dependencies/config/jetpack.yml +1 -1
- data/spec/sample_projects/rack_19/Gemfile +3 -0
- data/spec/sample_projects/rack_19/Gemfile.lock +11 -0
- data/spec/sample_projects/rack_19/config.ru +8 -0
- data/spec/sample_projects/rack_19/config/jetpack.yml +9 -0
- data/spec/sample_projects/webapp/config/jetpack.yml +8 -5
- data/spec/sample_projects/webapp_filters/Gemfile +3 -0
- data/spec/sample_projects/webapp_filters/Gemfile.lock +88 -0
- data/spec/sample_projects/webapp_filters/app/controllers/application_controller.rb +5 -0
- data/spec/sample_projects/webapp_filters/config.ru +4 -0
- data/spec/sample_projects/webapp_filters/config/application.rb +46 -0
- data/spec/sample_projects/webapp_filters/config/boot.rb +6 -0
- data/spec/sample_projects/webapp_filters/config/environment.rb +5 -0
- data/spec/sample_projects/webapp_filters/config/environments/development.rb +25 -0
- data/spec/sample_projects/webapp_filters/config/environments/test.rb +35 -0
- data/spec/sample_projects/webapp_filters/config/initializers/secret_token.rb +7 -0
- data/spec/sample_projects/webapp_filters/config/jetpack.yml +10 -0
- data/spec/sample_projects/webapp_filters/config/jetpack_files/vendor/jetty/etc/custom-project-specific-jetty.xml +5 -0
- data/spec/sample_projects/webapp_filters/config/jetpack_files/vendor/jetty/etc/template-from-project-jetty.xml.erb +9 -0
- data/spec/sample_projects/webapp_filters/config/routes.rb +60 -0
- data/spec/sample_projects/webapp_filters/public/index.html +239 -0
- data/spec/sample_projects/webapp_filters/script/rails +6 -0
- data/spec/spec_helper.rb +0 -7
- data/spec/web_spec.rb +25 -9
- data/src/java/jetpack/filter/IgnoreUnknownHttpMethodsFilter.java +43 -0
- data/src/java/jetpack/filter/ValidUrlFilter.java +62 -0
- data/web_inf_files/web.xml.erb +46 -4
- metadata +110 -32
- data/gems/bundler-1.0.18.gem +0 -0
- data/gems/bundler-1.1.rc.gem +0 -0
@@ -0,0 +1,43 @@
|
|
1
|
+
package jetpack.filter;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
import javax.servlet.Filter;
|
5
|
+
import javax.servlet.FilterChain;
|
6
|
+
import javax.servlet.FilterConfig;
|
7
|
+
import javax.servlet.ServletException;
|
8
|
+
import javax.servlet.ServletRequest;
|
9
|
+
import javax.servlet.ServletResponse;
|
10
|
+
import javax.servlet.http.HttpServletRequest;
|
11
|
+
import javax.servlet.http.HttpServletResponse;
|
12
|
+
|
13
|
+
public class IgnoreUnknownHttpMethodsFilter implements Filter {
|
14
|
+
|
15
|
+
java.util.List<String> allowedMethodList;
|
16
|
+
|
17
|
+
public void init(FilterConfig filterConfig) throws ServletException {
|
18
|
+
allowedMethodList = new java.util.ArrayList<String>();
|
19
|
+
allowedMethodList.add("GET");
|
20
|
+
allowedMethodList.add("PUT");
|
21
|
+
allowedMethodList.add("DELETE");
|
22
|
+
allowedMethodList.add("POST");
|
23
|
+
allowedMethodList.add("HEAD");
|
24
|
+
}
|
25
|
+
|
26
|
+
public void destroy() {
|
27
|
+
allowedMethodList = null;
|
28
|
+
}
|
29
|
+
|
30
|
+
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
|
31
|
+
throws IOException, ServletException {
|
32
|
+
|
33
|
+
HttpServletRequest req = (HttpServletRequest)request;
|
34
|
+
|
35
|
+
if ( allowedMethodList.contains(req.getMethod()) ) {
|
36
|
+
chain.doFilter(request, response);
|
37
|
+
} else {
|
38
|
+
HttpServletResponse res = (HttpServletResponse)response;
|
39
|
+
res.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED);
|
40
|
+
return;
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
package jetpack.filter;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
import java.util.regex.Pattern;
|
5
|
+
import javax.servlet.Filter;
|
6
|
+
import javax.servlet.FilterChain;
|
7
|
+
import javax.servlet.FilterConfig;
|
8
|
+
import javax.servlet.ServletException;
|
9
|
+
import javax.servlet.ServletRequest;
|
10
|
+
import javax.servlet.ServletResponse;
|
11
|
+
import javax.servlet.http.HttpServletRequest;
|
12
|
+
import javax.servlet.http.HttpServletResponse;
|
13
|
+
import org.apache.commons.validator.routines.RegexValidator;
|
14
|
+
import org.apache.commons.validator.routines.UrlValidator;
|
15
|
+
|
16
|
+
public class ValidUrlFilter implements Filter {
|
17
|
+
|
18
|
+
UrlValidator urlValidator;
|
19
|
+
|
20
|
+
public void init(FilterConfig filterConfig) throws ServletException {
|
21
|
+
String[] schemes = {"http","https"};
|
22
|
+
RegexValidator authorityValidator = new RegexValidator("^([\\p{Alnum}\\-\\.]*)(:\\d*)?(.*)?", false);
|
23
|
+
urlValidator = new UrlValidator(schemes, authorityValidator, UrlValidator.ALLOW_LOCAL_URLS);
|
24
|
+
}
|
25
|
+
|
26
|
+
public void destroy() {
|
27
|
+
urlValidator = null;
|
28
|
+
}
|
29
|
+
|
30
|
+
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
|
31
|
+
throws IOException, ServletException {
|
32
|
+
|
33
|
+
HttpServletRequest req = (HttpServletRequest)request;
|
34
|
+
|
35
|
+
String requestUrl = req.getRequestURL().toString();
|
36
|
+
String queryString = req.getQueryString();
|
37
|
+
if (queryString != null) {
|
38
|
+
requestUrl += "?" + queryString;
|
39
|
+
}
|
40
|
+
|
41
|
+
if (urlValidator.isValid(requestUrl) && isValidQuery(queryString)) {
|
42
|
+
chain.doFilter(request, response);
|
43
|
+
} else {
|
44
|
+
HttpServletResponse res = (HttpServletResponse)response;
|
45
|
+
res.sendError(HttpServletResponse.SC_BAD_REQUEST);
|
46
|
+
return;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
// commons validator allows any character in query string, we want to restrict it a bit
|
51
|
+
// and not allow unescaped angle brackets for example.
|
52
|
+
private static final String QUERY_REGEX = "^([-\\w:@&=~+,.!*'%$_;\\(\\)]*)$";
|
53
|
+
private static final Pattern QUERY_PATTERN = Pattern.compile(QUERY_REGEX);
|
54
|
+
|
55
|
+
protected boolean isValidQuery(String query) {
|
56
|
+
if (query == null) {
|
57
|
+
return true;
|
58
|
+
}
|
59
|
+
|
60
|
+
return QUERY_PATTERN.matcher(query).matches();
|
61
|
+
}
|
62
|
+
}
|
data/web_inf_files/web.xml.erb
CHANGED
@@ -11,6 +11,12 @@
|
|
11
11
|
<param-value>1</param-value>
|
12
12
|
</context-param>
|
13
13
|
|
14
|
+
<context-param>
|
15
|
+
<param-name>jruby.compat.version</param-name>
|
16
|
+
<param-value><%= @settings.ruby_version %></param-value>
|
17
|
+
</context-param>
|
18
|
+
|
19
|
+
|
14
20
|
<context-param>
|
15
21
|
<param-name>rails.root</param-name>
|
16
22
|
<param-value>.</param-value>
|
@@ -31,17 +37,53 @@
|
|
31
37
|
<param-value><%= @gem_path %></param-value>
|
32
38
|
</context-param>
|
33
39
|
|
40
|
+
<% if @settings.jetty_filters? %>
|
41
|
+
<filter>
|
42
|
+
<filter-name>IgnoreUnknownHttpMethodsFilter</filter-name>
|
43
|
+
<filter-class>jetpack.filter.IgnoreUnknownHttpMethodsFilter</filter-class>
|
44
|
+
</filter>
|
45
|
+
|
46
|
+
<filter-mapping>
|
47
|
+
<filter-name>IgnoreUnknownHttpMethodsFilter</filter-name>
|
48
|
+
<url-pattern>/*</url-pattern>
|
49
|
+
</filter-mapping>
|
50
|
+
|
34
51
|
<filter>
|
35
|
-
<filter-name>
|
36
|
-
<filter-class>
|
52
|
+
<filter-name>ValidUrlFilter</filter-name>
|
53
|
+
<filter-class>jetpack.filter.ValidUrlFilter</filter-class>
|
37
54
|
</filter>
|
38
55
|
|
39
56
|
<filter-mapping>
|
40
|
-
<filter-name>
|
57
|
+
<filter-name>ValidUrlFilter</filter-name>
|
41
58
|
<url-pattern>/*</url-pattern>
|
42
59
|
</filter-mapping>
|
60
|
+
<% end %>
|
61
|
+
|
62
|
+
<filter>
|
63
|
+
<filter-name>GzipFilter</filter-name>
|
64
|
+
<filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
|
65
|
+
<init-param>
|
66
|
+
<param-name>mimeTypes</param-name>
|
67
|
+
<param-value>text/html,text/plain,text/xml,application/xhtml+xml,text/css,application/javascript,image/svg+xml</param-value>
|
68
|
+
</init-param>
|
69
|
+
</filter>
|
70
|
+
|
71
|
+
<filter-mapping>
|
72
|
+
<filter-name>GzipFilter</filter-name>
|
73
|
+
<url-pattern>/*</url-pattern>
|
74
|
+
</filter-mapping>
|
75
|
+
|
76
|
+
<servlet>
|
77
|
+
<servlet-name>RackServlet</servlet-name>
|
78
|
+
<servlet-class>org.jruby.rack.RackServlet</servlet-class>
|
79
|
+
</servlet>
|
80
|
+
|
81
|
+
<servlet-mapping>
|
82
|
+
<servlet-name>RackServlet</servlet-name>
|
83
|
+
<url-pattern>/*</url-pattern>
|
84
|
+
</servlet-mapping>
|
43
85
|
|
44
86
|
<listener>
|
45
|
-
<listener-class
|
87
|
+
<listener-class><%= @listener %></listener-class>
|
46
88
|
</listener>
|
47
89
|
</web-app>
|
metadata
CHANGED
@@ -1,51 +1,73 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: jetpack
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 3
|
10
|
+
version: 0.1.3
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Steve Conover
|
14
|
+
- Xavier Shay
|
15
|
+
- Taylor Phillips
|
16
|
+
- Chris Heisterkamp
|
9
17
|
autorequire:
|
10
18
|
bindir: bin
|
11
19
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
20
|
+
|
21
|
+
date: 2013-01-16 00:00:00 Z
|
22
|
+
dependencies:
|
23
|
+
- !ruby/object:Gem::Dependency
|
15
24
|
name: bundler
|
16
|
-
|
25
|
+
prerelease: false
|
26
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
27
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
hash: 3
|
32
|
+
segments:
|
33
|
+
- 0
|
34
|
+
version: "0"
|
22
35
|
type: :development
|
23
|
-
|
24
|
-
version_requirements: *2166391640
|
36
|
+
version_requirements: *id001
|
25
37
|
description:
|
26
|
-
email:
|
38
|
+
email:
|
27
39
|
- steve@squareup.com
|
28
|
-
|
40
|
+
- xavier@squareup.com
|
41
|
+
- taylor@squareup.com
|
42
|
+
- cheister@squareup.com
|
43
|
+
executables:
|
29
44
|
- jetpack
|
30
45
|
extensions: []
|
46
|
+
|
31
47
|
extra_rdoc_files: []
|
32
|
-
|
48
|
+
|
49
|
+
files:
|
33
50
|
- .gitignore
|
34
51
|
- .wrong
|
35
52
|
- Gemfile
|
36
53
|
- Gemfile.lock
|
54
|
+
- LICENSE
|
37
55
|
- README.markdown
|
38
56
|
- Rakefile
|
39
57
|
- bin/jetpack
|
40
58
|
- bin_files/.rake_runner.erb
|
59
|
+
- bin_files/launch.erb
|
41
60
|
- bin_files/rake.erb
|
42
61
|
- bin_files/ruby.erb
|
43
|
-
- gems/bundler-1.0.
|
44
|
-
- gems/bundler-1.1.rc.gem
|
62
|
+
- gems/bundler-1.1.0.gem
|
45
63
|
- gems/jruby-openssl-0.7.4.gem
|
46
64
|
- install_gem.sh
|
47
65
|
- jetpack.gemspec
|
66
|
+
- jetty_files/etc/fake.crt
|
67
|
+
- jetty_files/etc/fake.jceks
|
68
|
+
- jetty_files/etc/fake.key
|
48
69
|
- jetty_files/etc/fake.p12
|
70
|
+
- jetty_files/etc/fake.pem
|
49
71
|
- jetty_files/etc/jetty.xml.erb
|
50
72
|
- jetty_files/jetty-init.erb
|
51
73
|
- jetty_files/run/.gitkeep
|
@@ -55,6 +77,8 @@ files:
|
|
55
77
|
- script/ci
|
56
78
|
- spec/basics_spec.rb
|
57
79
|
- spec/bundler_spec.rb
|
80
|
+
- spec/filter_spec.rb
|
81
|
+
- spec/rack_spec.rb
|
58
82
|
- spec/ruby_19_spec.rb
|
59
83
|
- spec/sample_projects/has_gems_via_bundler/Gemfile
|
60
84
|
- spec/sample_projects/has_gems_via_bundler/Gemfile.lock
|
@@ -70,6 +94,10 @@ files:
|
|
70
94
|
- spec/sample_projects/has_gems_via_bundler_bad_gemfile_lock/config/jetpack.yml
|
71
95
|
- spec/sample_projects/no_dependencies/Rakefile
|
72
96
|
- spec/sample_projects/no_dependencies/config/jetpack.yml
|
97
|
+
- spec/sample_projects/rack_19/Gemfile
|
98
|
+
- spec/sample_projects/rack_19/Gemfile.lock
|
99
|
+
- spec/sample_projects/rack_19/config.ru
|
100
|
+
- spec/sample_projects/rack_19/config/jetpack.yml
|
73
101
|
- spec/sample_projects/webapp/Gemfile
|
74
102
|
- spec/sample_projects/webapp/Gemfile.lock
|
75
103
|
- spec/sample_projects/webapp/app/controllers/application_controller.rb
|
@@ -86,37 +114,66 @@ files:
|
|
86
114
|
- spec/sample_projects/webapp/config/routes.rb
|
87
115
|
- spec/sample_projects/webapp/public/index.html
|
88
116
|
- spec/sample_projects/webapp/script/rails
|
117
|
+
- spec/sample_projects/webapp_filters/Gemfile
|
118
|
+
- spec/sample_projects/webapp_filters/Gemfile.lock
|
119
|
+
- spec/sample_projects/webapp_filters/app/controllers/application_controller.rb
|
120
|
+
- spec/sample_projects/webapp_filters/config.ru
|
121
|
+
- spec/sample_projects/webapp_filters/config/application.rb
|
122
|
+
- spec/sample_projects/webapp_filters/config/boot.rb
|
123
|
+
- spec/sample_projects/webapp_filters/config/environment.rb
|
124
|
+
- spec/sample_projects/webapp_filters/config/environments/development.rb
|
125
|
+
- spec/sample_projects/webapp_filters/config/environments/test.rb
|
126
|
+
- spec/sample_projects/webapp_filters/config/initializers/secret_token.rb
|
127
|
+
- spec/sample_projects/webapp_filters/config/jetpack.yml
|
128
|
+
- spec/sample_projects/webapp_filters/config/jetpack_files/vendor/jetty/etc/custom-project-specific-jetty.xml
|
129
|
+
- spec/sample_projects/webapp_filters/config/jetpack_files/vendor/jetty/etc/template-from-project-jetty.xml.erb
|
130
|
+
- spec/sample_projects/webapp_filters/config/routes.rb
|
131
|
+
- spec/sample_projects/webapp_filters/public/index.html
|
132
|
+
- spec/sample_projects/webapp_filters/script/rails
|
89
133
|
- spec/spec_helper.rb
|
90
134
|
- spec/suite.rb
|
91
135
|
- spec/web_spec.rb
|
136
|
+
- src/java/jetpack/filter/IgnoreUnknownHttpMethodsFilter.java
|
137
|
+
- src/java/jetpack/filter/ValidUrlFilter.java
|
92
138
|
- web_inf_files/web.xml.erb
|
93
139
|
homepage: https://github.com/square/jetpack
|
94
140
|
licenses: []
|
141
|
+
|
95
142
|
post_install_message:
|
96
143
|
rdoc_options: []
|
97
|
-
|
144
|
+
|
145
|
+
require_paths:
|
98
146
|
- lib
|
99
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
147
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
100
148
|
none: false
|
101
|
-
requirements:
|
102
|
-
- -
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
|
105
|
-
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
hash: 3
|
153
|
+
segments:
|
154
|
+
- 0
|
155
|
+
version: "0"
|
156
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
157
|
none: false
|
107
|
-
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
|
158
|
+
requirements:
|
159
|
+
- - ">="
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
hash: 3
|
162
|
+
segments:
|
163
|
+
- 0
|
164
|
+
version: "0"
|
111
165
|
requirements: []
|
166
|
+
|
112
167
|
rubyforge_project:
|
113
|
-
rubygems_version: 1.8.
|
168
|
+
rubygems_version: 1.8.24
|
114
169
|
signing_key:
|
115
170
|
specification_version: 3
|
116
171
|
summary: Jetpack prepares your jRuby project for jvm deployment.
|
117
|
-
test_files:
|
172
|
+
test_files:
|
118
173
|
- spec/basics_spec.rb
|
119
174
|
- spec/bundler_spec.rb
|
175
|
+
- spec/filter_spec.rb
|
176
|
+
- spec/rack_spec.rb
|
120
177
|
- spec/ruby_19_spec.rb
|
121
178
|
- spec/sample_projects/has_gems_via_bundler/Gemfile
|
122
179
|
- spec/sample_projects/has_gems_via_bundler/Gemfile.lock
|
@@ -132,6 +189,10 @@ test_files:
|
|
132
189
|
- spec/sample_projects/has_gems_via_bundler_bad_gemfile_lock/config/jetpack.yml
|
133
190
|
- spec/sample_projects/no_dependencies/Rakefile
|
134
191
|
- spec/sample_projects/no_dependencies/config/jetpack.yml
|
192
|
+
- spec/sample_projects/rack_19/Gemfile
|
193
|
+
- spec/sample_projects/rack_19/Gemfile.lock
|
194
|
+
- spec/sample_projects/rack_19/config.ru
|
195
|
+
- spec/sample_projects/rack_19/config/jetpack.yml
|
135
196
|
- spec/sample_projects/webapp/Gemfile
|
136
197
|
- spec/sample_projects/webapp/Gemfile.lock
|
137
198
|
- spec/sample_projects/webapp/app/controllers/application_controller.rb
|
@@ -148,6 +209,23 @@ test_files:
|
|
148
209
|
- spec/sample_projects/webapp/config/routes.rb
|
149
210
|
- spec/sample_projects/webapp/public/index.html
|
150
211
|
- spec/sample_projects/webapp/script/rails
|
212
|
+
- spec/sample_projects/webapp_filters/Gemfile
|
213
|
+
- spec/sample_projects/webapp_filters/Gemfile.lock
|
214
|
+
- spec/sample_projects/webapp_filters/app/controllers/application_controller.rb
|
215
|
+
- spec/sample_projects/webapp_filters/config.ru
|
216
|
+
- spec/sample_projects/webapp_filters/config/application.rb
|
217
|
+
- spec/sample_projects/webapp_filters/config/boot.rb
|
218
|
+
- spec/sample_projects/webapp_filters/config/environment.rb
|
219
|
+
- spec/sample_projects/webapp_filters/config/environments/development.rb
|
220
|
+
- spec/sample_projects/webapp_filters/config/environments/test.rb
|
221
|
+
- spec/sample_projects/webapp_filters/config/initializers/secret_token.rb
|
222
|
+
- spec/sample_projects/webapp_filters/config/jetpack.yml
|
223
|
+
- spec/sample_projects/webapp_filters/config/jetpack_files/vendor/jetty/etc/custom-project-specific-jetty.xml
|
224
|
+
- spec/sample_projects/webapp_filters/config/jetpack_files/vendor/jetty/etc/template-from-project-jetty.xml.erb
|
225
|
+
- spec/sample_projects/webapp_filters/config/routes.rb
|
226
|
+
- spec/sample_projects/webapp_filters/public/index.html
|
227
|
+
- spec/sample_projects/webapp_filters/script/rails
|
151
228
|
- spec/spec_helper.rb
|
152
229
|
- spec/suite.rb
|
153
230
|
- spec/web_spec.rb
|
231
|
+
has_rdoc:
|
data/gems/bundler-1.0.18.gem
DELETED
Binary file
|
data/gems/bundler-1.1.rc.gem
DELETED
Binary file
|