sinatra 1.4.8 → 2.1.0

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.

Files changed (133) hide show
  1. checksums.yaml +5 -5
  2. data/AUTHORS.md +1 -0
  3. data/CHANGELOG.md +272 -54
  4. data/CONTRIBUTING.md +8 -8
  5. data/Gemfile +48 -47
  6. data/LICENSE +4 -1
  7. data/MAINTENANCE.md +42 -0
  8. data/README.de.md +651 -443
  9. data/README.es.md +738 -357
  10. data/README.fr.md +197 -100
  11. data/README.hu.md +40 -6
  12. data/README.ja.md +125 -67
  13. data/README.ko.md +15 -15
  14. data/README.malayalam.md +3141 -0
  15. data/README.md +592 -432
  16. data/README.pt-br.md +2362 -335
  17. data/README.pt-pt.md +5 -5
  18. data/README.ru.md +857 -608
  19. data/README.zh.md +91 -29
  20. data/Rakefile +77 -51
  21. data/SECURITY.md +35 -0
  22. data/VERSION +1 -0
  23. data/examples/chat.rb +2 -1
  24. data/examples/rainbows.conf +3 -0
  25. data/examples/rainbows.rb +20 -0
  26. data/examples/stream.ru +4 -4
  27. data/lib/sinatra/base.rb +243 -265
  28. data/lib/sinatra/indifferent_hash.rb +200 -0
  29. data/lib/sinatra/main.rb +30 -10
  30. data/lib/sinatra/show_exceptions.rb +67 -62
  31. data/lib/sinatra/version.rb +1 -1
  32. data/sinatra.gemspec +44 -8
  33. metadata +43 -167
  34. data/lib/sinatra/ext.rb +0 -17
  35. data/test/asciidoctor_test.rb +0 -72
  36. data/test/base_test.rb +0 -167
  37. data/test/builder_test.rb +0 -91
  38. data/test/coffee_test.rb +0 -96
  39. data/test/compile_test.rb +0 -183
  40. data/test/contest.rb +0 -91
  41. data/test/creole_test.rb +0 -65
  42. data/test/delegator_test.rb +0 -160
  43. data/test/encoding_test.rb +0 -20
  44. data/test/erb_test.rb +0 -116
  45. data/test/extensions_test.rb +0 -98
  46. data/test/filter_test.rb +0 -487
  47. data/test/haml_test.rb +0 -109
  48. data/test/helper.rb +0 -132
  49. data/test/helpers_test.rb +0 -1917
  50. data/test/integration/app.rb +0 -79
  51. data/test/integration_helper.rb +0 -236
  52. data/test/integration_test.rb +0 -104
  53. data/test/less_test.rb +0 -69
  54. data/test/liquid_test.rb +0 -77
  55. data/test/mapped_error_test.rb +0 -285
  56. data/test/markaby_test.rb +0 -80
  57. data/test/markdown_test.rb +0 -85
  58. data/test/mediawiki_test.rb +0 -68
  59. data/test/middleware_test.rb +0 -68
  60. data/test/nokogiri_test.rb +0 -67
  61. data/test/public/favicon.ico +0 -0
  62. data/test/public/hello+world.txt +0 -1
  63. data/test/rabl_test.rb +0 -89
  64. data/test/rack_test.rb +0 -45
  65. data/test/radius_test.rb +0 -59
  66. data/test/rdoc_test.rb +0 -66
  67. data/test/readme_test.rb +0 -130
  68. data/test/request_test.rb +0 -100
  69. data/test/response_test.rb +0 -63
  70. data/test/result_test.rb +0 -76
  71. data/test/route_added_hook_test.rb +0 -59
  72. data/test/routing_test.rb +0 -1456
  73. data/test/sass_test.rb +0 -115
  74. data/test/scss_test.rb +0 -88
  75. data/test/server_test.rb +0 -56
  76. data/test/settings_test.rb +0 -582
  77. data/test/sinatra_test.rb +0 -12
  78. data/test/slim_test.rb +0 -102
  79. data/test/static_test.rb +0 -266
  80. data/test/streaming_test.rb +0 -149
  81. data/test/stylus_test.rb +0 -90
  82. data/test/templates_test.rb +0 -382
  83. data/test/textile_test.rb +0 -65
  84. data/test/views/a/in_a.str +0 -1
  85. data/test/views/ascii.erb +0 -2
  86. data/test/views/b/in_b.str +0 -1
  87. data/test/views/calc.html.erb +0 -1
  88. data/test/views/error.builder +0 -3
  89. data/test/views/error.erb +0 -3
  90. data/test/views/error.haml +0 -3
  91. data/test/views/error.sass +0 -2
  92. data/test/views/explicitly_nested.str +0 -1
  93. data/test/views/foo/hello.test +0 -1
  94. data/test/views/hello.asciidoc +0 -1
  95. data/test/views/hello.builder +0 -1
  96. data/test/views/hello.coffee +0 -1
  97. data/test/views/hello.creole +0 -1
  98. data/test/views/hello.erb +0 -1
  99. data/test/views/hello.haml +0 -1
  100. data/test/views/hello.less +0 -5
  101. data/test/views/hello.liquid +0 -1
  102. data/test/views/hello.mab +0 -1
  103. data/test/views/hello.md +0 -1
  104. data/test/views/hello.mediawiki +0 -1
  105. data/test/views/hello.nokogiri +0 -1
  106. data/test/views/hello.rabl +0 -2
  107. data/test/views/hello.radius +0 -1
  108. data/test/views/hello.rdoc +0 -1
  109. data/test/views/hello.sass +0 -2
  110. data/test/views/hello.scss +0 -3
  111. data/test/views/hello.slim +0 -1
  112. data/test/views/hello.str +0 -1
  113. data/test/views/hello.styl +0 -2
  114. data/test/views/hello.test +0 -1
  115. data/test/views/hello.textile +0 -1
  116. data/test/views/hello.wlang +0 -1
  117. data/test/views/hello.yajl +0 -1
  118. data/test/views/layout2.builder +0 -3
  119. data/test/views/layout2.erb +0 -2
  120. data/test/views/layout2.haml +0 -2
  121. data/test/views/layout2.liquid +0 -2
  122. data/test/views/layout2.mab +0 -2
  123. data/test/views/layout2.nokogiri +0 -3
  124. data/test/views/layout2.rabl +0 -3
  125. data/test/views/layout2.radius +0 -2
  126. data/test/views/layout2.slim +0 -3
  127. data/test/views/layout2.str +0 -2
  128. data/test/views/layout2.test +0 -1
  129. data/test/views/layout2.wlang +0 -2
  130. data/test/views/nested.str +0 -1
  131. data/test/views/utf8.erb +0 -2
  132. data/test/wlang_test.rb +0 -87
  133. 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 /\A\/hello\/([\w]+)\z/ do
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
- * 세 요소를 가진 배열: `[상태 (Fixnum), 헤더 (Hash), 응답 본문 (#each에 반응)]`
319
- * 두 요소를 가진 배열: `[상태 (Fixnum), 응답 본문 (#each에 반응)]`
318
+ * 세 요소를 가진 배열: `[상태 (Integer), 헤더 (Hash), 응답 본문 (#each에 반응)]`
319
+ * 두 요소를 가진 배열: `[상태 (Integer), 응답 본문 (#each에 반응)]`
320
320
  * `#each`에 반응하고 주어진 블록으로 문자열만을 전달하는 객체
321
- * 상태 코드를 의미하는 Fixnum
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{^(?!/index$)} do
377
+ get %r{(?!/index)} do
378
378
  # ...
379
379
  end
380
380
  ```
@@ -385,7 +385,7 @@ end
385
385
  변경하려면 `:public_folder` 옵션을 지정하면 됩니다.
386
386
 
387
387
  ```ruby
388
- set :public_folder, File.dirname(__FILE__) + '/static'
388
+ set :public_folder, __dir__ + '/static'
389
389
  ```
390
390
 
391
391
  public 디렉터리명은 URL에 포함되지 않는다는 점에 주의하세요.
@@ -653,7 +653,7 @@ get('/') { markdown :index }
653
653
  <table>
654
654
  <tr>
655
655
  <td>의존성</td>
656
- <td><a href="http://liquidmarkup.org/">liquid</a></td>
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="http://deveiate.org/projects/BlueCloth" title="BlueCloth">BlueCloth</a>,
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
- 환경(RACK_ENV 환경 변수)이 `:production`일 때만 실행되게 하려면 이렇게 하면 됩니다.
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['RACK_ENV']</tt> ENV에 없을 경우엔 "development".
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
- 가 있습니다. 환경은 `RACK_ENV` 환경 변수를 통해서도 설정됩니다. 기본값은
2228
+ 가 있습니다. 환경은 `APP_ENV` 환경 변수를 통해서도 설정됩니다. 기본값은
2229
2229
  `"development"`입니다. `"development"` 모드에서는 모든 템플릿들은 요청 간에
2230
2230
  리로드됩니다. 또, `"development"` 모드에서는 특별한 `not_found` 와 `error`
2231
2231
  핸들러가 브라우저에서 스택 트레이스를 볼 수 있게합니다.
2232
2232
  `"production"`과 `"test"`에서는 기본적으로 템플릿은 캐시됩니다.
2233
2233
 
2234
- 다른 환경으로 실행시키려면 `RACK_ENV` 환경 변수를 사용하세요.
2234
+ 다른 환경으로 실행시키려면 `APP_ENV` 환경 변수를 사용하세요.
2235
2235
 
2236
2236
  ```shell
2237
- RACK_ENV=production ruby my_app.rb
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 test_with_rack_env
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