sinatra 1.4.8 → 2.0.8.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sinatra might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/AUTHORS.md +1 -0
- data/CHANGELOG.md +238 -54
- data/CONTRIBUTING.md +8 -8
- data/Gemfile +47 -47
- data/LICENSE +4 -1
- data/MAINTENANCE.md +42 -0
- data/README.de.md +650 -442
- data/README.es.md +738 -357
- data/README.fr.md +15 -15
- data/README.hu.md +37 -3
- data/README.ja.md +124 -66
- data/README.ko.md +14 -14
- data/README.malayalam.md +3141 -0
- data/README.md +530 -403
- data/README.pt-br.md +2361 -334
- data/README.pt-pt.md +2 -2
- data/README.ru.md +856 -607
- data/README.zh.md +90 -28
- data/Rakefile +77 -51
- data/SECURITY.md +35 -0
- data/VERSION +1 -0
- data/lib/sinatra/base.rb +177 -239
- data/lib/sinatra/indifferent_hash.rb +200 -0
- data/lib/sinatra/main.rb +30 -10
- data/lib/sinatra/show_exceptions.rb +102 -62
- data/lib/sinatra/version.rb +1 -1
- data/sinatra.gemspec +44 -8
- metadata +41 -166
- data/lib/sinatra/ext.rb +0 -17
- data/test/asciidoctor_test.rb +0 -72
- data/test/base_test.rb +0 -167
- data/test/builder_test.rb +0 -91
- data/test/coffee_test.rb +0 -96
- data/test/compile_test.rb +0 -183
- data/test/contest.rb +0 -91
- data/test/creole_test.rb +0 -65
- data/test/delegator_test.rb +0 -160
- data/test/encoding_test.rb +0 -20
- data/test/erb_test.rb +0 -116
- data/test/extensions_test.rb +0 -98
- data/test/filter_test.rb +0 -487
- data/test/haml_test.rb +0 -109
- data/test/helper.rb +0 -132
- data/test/helpers_test.rb +0 -1917
- data/test/integration/app.rb +0 -79
- data/test/integration_helper.rb +0 -236
- data/test/integration_test.rb +0 -104
- data/test/less_test.rb +0 -69
- data/test/liquid_test.rb +0 -77
- data/test/mapped_error_test.rb +0 -285
- data/test/markaby_test.rb +0 -80
- data/test/markdown_test.rb +0 -85
- data/test/mediawiki_test.rb +0 -68
- data/test/middleware_test.rb +0 -68
- data/test/nokogiri_test.rb +0 -67
- data/test/public/favicon.ico +0 -0
- data/test/public/hello+world.txt +0 -1
- data/test/rabl_test.rb +0 -89
- data/test/rack_test.rb +0 -45
- data/test/radius_test.rb +0 -59
- data/test/rdoc_test.rb +0 -66
- data/test/readme_test.rb +0 -130
- data/test/request_test.rb +0 -100
- data/test/response_test.rb +0 -63
- data/test/result_test.rb +0 -76
- data/test/route_added_hook_test.rb +0 -59
- data/test/routing_test.rb +0 -1456
- data/test/sass_test.rb +0 -115
- data/test/scss_test.rb +0 -88
- data/test/server_test.rb +0 -56
- data/test/settings_test.rb +0 -582
- data/test/sinatra_test.rb +0 -12
- data/test/slim_test.rb +0 -102
- data/test/static_test.rb +0 -266
- data/test/streaming_test.rb +0 -149
- data/test/stylus_test.rb +0 -90
- data/test/templates_test.rb +0 -382
- data/test/textile_test.rb +0 -65
- data/test/views/a/in_a.str +0 -1
- data/test/views/ascii.erb +0 -2
- data/test/views/b/in_b.str +0 -1
- data/test/views/calc.html.erb +0 -1
- data/test/views/error.builder +0 -3
- data/test/views/error.erb +0 -3
- data/test/views/error.haml +0 -3
- data/test/views/error.sass +0 -2
- data/test/views/explicitly_nested.str +0 -1
- data/test/views/foo/hello.test +0 -1
- data/test/views/hello.asciidoc +0 -1
- data/test/views/hello.builder +0 -1
- data/test/views/hello.coffee +0 -1
- data/test/views/hello.creole +0 -1
- data/test/views/hello.erb +0 -1
- data/test/views/hello.haml +0 -1
- data/test/views/hello.less +0 -5
- data/test/views/hello.liquid +0 -1
- data/test/views/hello.mab +0 -1
- data/test/views/hello.md +0 -1
- data/test/views/hello.mediawiki +0 -1
- data/test/views/hello.nokogiri +0 -1
- data/test/views/hello.rabl +0 -2
- data/test/views/hello.radius +0 -1
- data/test/views/hello.rdoc +0 -1
- data/test/views/hello.sass +0 -2
- data/test/views/hello.scss +0 -3
- data/test/views/hello.slim +0 -1
- data/test/views/hello.str +0 -1
- data/test/views/hello.styl +0 -2
- data/test/views/hello.test +0 -1
- data/test/views/hello.textile +0 -1
- data/test/views/hello.wlang +0 -1
- data/test/views/hello.yajl +0 -1
- data/test/views/layout2.builder +0 -3
- data/test/views/layout2.erb +0 -2
- data/test/views/layout2.haml +0 -2
- data/test/views/layout2.liquid +0 -2
- data/test/views/layout2.mab +0 -2
- data/test/views/layout2.nokogiri +0 -3
- data/test/views/layout2.rabl +0 -3
- data/test/views/layout2.radius +0 -2
- data/test/views/layout2.slim +0 -3
- data/test/views/layout2.str +0 -2
- data/test/views/layout2.test +0 -1
- data/test/views/layout2.wlang +0 -2
- data/test/views/nested.str +0 -1
- data/test/views/utf8.erb +0 -2
- data/test/wlang_test.rb +0 -87
- data/test/yajl_test.rb +0 -86
data/README.ko.md
CHANGED
@@ -207,7 +207,7 @@ end
|
|
207
207
|
라우터는 정규표현식으로 매치할 수 있습니다.
|
208
208
|
|
209
209
|
```ruby
|
210
|
-
get
|
210
|
+
get /\/hello\/([\w]+)/ do
|
211
211
|
"Hello, #{params['captures'].first}!"
|
212
212
|
end
|
213
213
|
```
|
@@ -315,10 +315,10 @@ end
|
|
315
315
|
|
316
316
|
유효한 Rack 응답, Rack 본문 객체 또는 HTTP 상태 코드가 되는 어떠한 객체라도 반환할 수 있습니다.
|
317
317
|
|
318
|
-
* 세 요소를 가진 배열: `[상태 (
|
319
|
-
* 두 요소를 가진 배열: `[상태 (
|
318
|
+
* 세 요소를 가진 배열: `[상태 (Integer), 헤더 (Hash), 응답 본문 (#each에 반응)]`
|
319
|
+
* 두 요소를 가진 배열: `[상태 (Integer), 응답 본문 (#each에 반응)]`
|
320
320
|
* `#each`에 반응하고 주어진 블록으로 문자열만을 전달하는 객체
|
321
|
-
* 상태 코드를 의미하는
|
321
|
+
* 상태 코드를 의미하는 Integer
|
322
322
|
|
323
323
|
이것을 이용한 예를 들자면, 스트리밍(streaming) 예제를 쉽게 구현할 수 있습니다.
|
324
324
|
|
@@ -374,7 +374,7 @@ end
|
|
374
374
|
또는 거꾸로 탐색(negative look ahead)할 수도 있습니다.
|
375
375
|
|
376
376
|
```ruby
|
377
|
-
get %r{
|
377
|
+
get %r{(?!/index)} do
|
378
378
|
# ...
|
379
379
|
end
|
380
380
|
```
|
@@ -653,7 +653,7 @@ get('/') { markdown :index }
|
|
653
653
|
<table>
|
654
654
|
<tr>
|
655
655
|
<td>의존성</td>
|
656
|
-
<td><a href="
|
656
|
+
<td><a href="https://shopify.github.io/liquid/">liquid</a></td>
|
657
657
|
</tr>
|
658
658
|
<tr>
|
659
659
|
<td>파일 확장자</td>
|
@@ -676,7 +676,7 @@ Liquid 템플릿에서는 루비 메서드(`yield` 제외)를 호출할 수 없
|
|
676
676
|
<td>
|
677
677
|
<a href="https://github.com/davidfstr/rdiscount" title="RDiscount">RDiscount</a>,
|
678
678
|
<a href="https://github.com/vmg/redcarpet" title="RedCarpet">RedCarpet</a>,
|
679
|
-
<a href="
|
679
|
+
<a href="https://github.com/ged/bluecloth" title="bluecloth">BlueCloth</a>,
|
680
680
|
<a href="http://kramdown.gettalong.org/" title="kramdown">kramdown</a>,
|
681
681
|
<a href="https://github.com/bhollis/maruku" title="maruku">maruku</a>
|
682
682
|
중 아무거나
|
@@ -1991,7 +1991,7 @@ configure do
|
|
1991
1991
|
end
|
1992
1992
|
```
|
1993
1993
|
|
1994
|
-
환경(
|
1994
|
+
환경(APP_ENV 환경 변수)이 `:production`일 때만 실행되게 하려면 이렇게 하면 됩니다.
|
1995
1995
|
|
1996
1996
|
```ruby
|
1997
1997
|
configure :production do
|
@@ -2023,7 +2023,7 @@ end
|
|
2023
2023
|
|
2024
2024
|
### 공격 방어 설정하기(Configuring attack protection)
|
2025
2025
|
|
2026
|
-
Sinatra는 [Rack::Protection](https://github.com/sinatra/rack-protection#readme)을 사용하여
|
2026
|
+
Sinatra는 [Rack::Protection](https://github.com/sinatra/sinatra/tree/master/rack-protection#readme)을 사용하여
|
2027
2027
|
일반적이고 일어날 수 있는 공격에 대비합니다. 이 모듈은 간단하게 비활성시킬 수 있습니다.
|
2028
2028
|
(하지만 애플리케이션에 엄청나게 많은 취약성을 야기합니다.)
|
2029
2029
|
|
@@ -2094,7 +2094,7 @@ set :protection, :session => true
|
|
2094
2094
|
|
2095
2095
|
<dt>environment</dt>
|
2096
2096
|
<dd>
|
2097
|
-
현재 환경, 기본값은 <tt>ENV['
|
2097
|
+
현재 환경, 기본값은 <tt>ENV['APP_ENV']</tt> ENV에 없을 경우엔 "development".
|
2098
2098
|
</dd>
|
2099
2099
|
|
2100
2100
|
<dt>logging</dt>
|
@@ -2225,16 +2225,16 @@ set :protection, :session => true
|
|
2225
2225
|
## 환경(Environments)
|
2226
2226
|
|
2227
2227
|
3가지의 미리 정의된 `environments` `"development"`, `"production"`, `"test"`
|
2228
|
-
가 있습니다. 환경은 `
|
2228
|
+
가 있습니다. 환경은 `APP_ENV` 환경 변수를 통해서도 설정됩니다. 기본값은
|
2229
2229
|
`"development"`입니다. `"development"` 모드에서는 모든 템플릿들은 요청 간에
|
2230
2230
|
리로드됩니다. 또, `"development"` 모드에서는 특별한 `not_found` 와 `error`
|
2231
2231
|
핸들러가 브라우저에서 스택 트레이스를 볼 수 있게합니다.
|
2232
2232
|
`"production"`과 `"test"`에서는 기본적으로 템플릿은 캐시됩니다.
|
2233
2233
|
|
2234
|
-
다른 환경으로 실행시키려면 `
|
2234
|
+
다른 환경으로 실행시키려면 `APP_ENV` 환경 변수를 사용하세요.
|
2235
2235
|
|
2236
2236
|
```shell
|
2237
|
-
|
2237
|
+
APP_ENV=production ruby my_app.rb
|
2238
2238
|
```
|
2239
2239
|
|
2240
2240
|
현재 설정된 환경이 무엇인지 검사하기 위해서는 준비된 `development?`, `test?`,
|
@@ -2400,7 +2400,7 @@ class MyAppTest < Minitest::Test
|
|
2400
2400
|
assert_equal 'Hello Frank!', last_response.body
|
2401
2401
|
end
|
2402
2402
|
|
2403
|
-
def
|
2403
|
+
def test_with_user_agent
|
2404
2404
|
get '/', {}, 'HTTP_USER_AGENT' => 'Songbird'
|
2405
2405
|
assert_equal "You're using Songbird!", last_response.body
|
2406
2406
|
end
|