more fixes for russian README

Signed-off-by: Konstantin Haase <konstantin.mailinglists@googlemail.com>
This commit is contained in:
Vasily Polovnyov 2010-10-29 18:24:21 +04:00 committed by Konstantin Haase
parent 9357487056
commit e6cf5b30d7
1 changed files with 28 additions and 28 deletions

View File

@ -69,7 +69,7 @@ Sinatra — это предметно-ориентированный язык (D
params[:splat] # => ["path/to/file", "xml"]
end
Маршруты также могут использовать регулярные выражение в качестве шаблона URL:
Маршруты также могут использовать регулярные выражения в качестве шаблона URL:
get %r{/hello/([\w]+)} do
"Hello, #{params[:captures].first}!"
@ -122,8 +122,8 @@ Sinatra — это предметно-ориентированный язык (D
=== Возвращаемые значения
Возвращаемое значение блока маршрута ограничивается телом ответа, которое будет передано HTTP клиенту,
или следующей подпрограммой (middleware) в Rack стеке. Чаще всего это строка, как в выше изложенных примерах.
Но и другие значения также приемлимы.
или следующей подпрограммой (middleware) в Rack стеке. Чаще всего это строка, как в вышеизложенных примерах.
Но и другие значения также приемлемы.
Вы можете вернуть любой объект, который будет либо корректным Rack ответом, Rack
телом ответа, либо кодом состояния HTTP:
@ -163,7 +163,7 @@ Sinatra — это предметно-ориентированный язык (D
Важно помнить, что вы всегда должны указывать шаблоны
с помощью символов, даже если это подкаталог (в этом случае
успользуйте <tt>:'subdir/template'</tt>). Вы должны использовать
используйте <tt>:'subdir/template'</tt>). Вы должны использовать
символ, иначе методы, ответственные за рендеринг, отобразят просто переданную им строку.
=== Haml шаблоны
@ -181,7 +181,7 @@ Haml gem/библиотека необходима для рендеринга H
{Опции Haml}[http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#options]
могут быть установлены глобально через конфигурацию Sinatra,
посмотрите {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html],
см. {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html],
и переопределены локально.
set :haml, :format => :html5 # :xhtml - Haml формат по умолчанию
@ -256,7 +256,7 @@ Haml gem/библиотека необходима для рендеринга S
{Опции Sass}[http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#options]
могут быть установлены глобально через конфигурацию Sinatra,
посмотрите {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html],
см. {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html],
и переопределены локально.
set :sass, :style => :compact # :nested - стиль Sass по умолчанию
@ -280,7 +280,7 @@ Haml gem/библиотека необходима для рендеринга S
{Опции Scss}[http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#options]
могут быть установлены глобально через конфигурацию Sinatra,
посмотрите {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html],
см. {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html],
и переопределены локально.
set :scss, :style => :compact # :nested - стиль Scss по умолчанию
@ -334,7 +334,7 @@ rdiscount gem/библиотека необходима для рендерин
Отрисует <tt>./views/index.markdown</tt> (+md+ и +mkd+ также являются допустимыми файловыми
расширениями).
В markdown невозможно вызывать методы или передавать локальные переменные. Следовательно вам скорее всего прийдется
В markdown невозможно вызывать методы или передавать локальные переменные. Следовательно, вам скорее всего придется
использовать этот шаблон совместно с другим движком рендеринга:
erb :overview, :locals => { :text => markdown(:introduction) }
@ -357,7 +357,7 @@ RedCloth gem/библиотека необходима для рендеринг
Отрисует <tt>./views/index.textile</tt>.
В textile невозможно вызывать методы или передавать локальные переменные. Следовательно вам скорее всего прийдется
В textile невозможно вызывать методы или передавать локальные переменные. Следовательно, вам скорее всего придется
использовать этот шаблон совместно с другим движком рендеринга:
erb :overview, :locals => { :text => textile(:introduction) }
@ -380,7 +380,7 @@ RDoc gem/библиотека необходима для рендеринга R
Отрисует <tt>./views/index.rdoc</tt>.
В rdoc невозможно вызывать методы или передавать локальные переменные. Следовательно вам скорее всего прийдется
В rdoc невозможно вызывать методы или передавать локальные переменные. Следовательно, вам скорее всего придется
использовать этот шаблон совместно с другим движком рендеринга:
erb :overview, :locals => { :text => rdoc(:introduction) }
@ -486,7 +486,7 @@ coffee-script gem/библиотека и `coffee` бинарный файл н
=== Именные шаблоны
Шаблоны также могут быть определены используя <tt>template</tt> метод:
Шаблоны также могут быть определены, используя <tt>template</tt> метод:
template :layout do
"%html\n =yield\n"
@ -544,7 +544,7 @@ After-фильтры выполняются после каждого запро
puts response.status
end
Фильтры могут использовать шаблоны URL и будут интерпретированы только, если путь запроса совпадет с этим шаблоном:
Фильтры могут использовать шаблоны URL и будут интерпретированы, только если путь запроса совпадет с этим шаблоном:
before '/protected/*' do
authenticate!
@ -556,7 +556,7 @@ After-фильтры выполняются после каждого запро
== Прерывание
Чтобы незамедлительно прервать обработку запроса внутри фильтра или маршрута используйте:
Чтобы незамедлительно прервать обработку запроса внутри фильтра или маршрута, используйте:
halt
@ -720,7 +720,7 @@ Sinatra устанавливает специальные <tt>not_found</tt> и
== Mime типы
Когда используете <tt>send_file</tt> или статические файлы, у вас могут быть mime типы которые Sinatra,
Когда вы используете <tt>send_file</tt> или статические файлы, у вас могут быть mime типы, которые Sinatra
не понимает по умолчанию. Используйте +mime_type+ для их регистрации по расширению файла:
mime_type :foo, 'text/foo'
@ -759,8 +759,8 @@ Rack::Builder[http://rack.rubyforge.org/doc/classes/Rack/Builder.html] DSL
end
Rack распространяется с различными стандартными подпрограммами
для логирования, дебагинга, маршрутизации URL, аутентификации, обработки сессий. Sinatra использует
многие из этих компонентов автоматически, основываясь на конфигурации, чтобы вам не проходилось
для логирования, отладки, маршрутизации URL, аутентификации, обработки сессий. Sinatra использует
многие из этих компонентов автоматически, основываясь на конфигурации, чтобы вам не приходилось
регистрировать/использовать (+use+) их вручную.
== Тестирование
@ -796,17 +796,17 @@ Rack распространяется с различными стандартн
end
Заметьте: Встроенные модули Sinatra::Test и Sinatra::TestHarness являются
устаревшими начиная с 0.9.2 релиза.
устаревшими, начиная с 0.9.2 релиза.
== Sinatra::Base - Подпрограммы, библиотеки и модульные приложения
Описание своего приложения самым простейшим способом (с помощью DSL верхнего уровня, как в примерах выше)
работает отлично для крохотных приложений, но имеет множество недостатков, когда надо
создать компоненты такие как Rack
создать компоненты, такие как Rack
middleware, Rails metal, простые библиотеки с серверными компонентами,
Sinatra расширения.
DSL верхнего уровня загрязняет пространство имен <tt>Object</tt> и подразумевает стиль конфигурации
микро приложения (например, единый файл приложения, ./public и
микро-приложения (например, единый файл приложения, ./public и
./views директории, создание логов, страницу деталей об исключениях
и т.д.). И тут на помощь приходит Sinatra::Base:
@ -828,12 +828,12 @@ Rack подпрограммы, Rack приложения, Rails metal. Вы мо
MyApp.run! :host => 'localhost', :port => 9090
Методы доступные Sinatra::Base сабклассам идентичны тем, что доступны
Методы, доступные Sinatra::Base сабклассам идентичны тем, что доступны
в DSL верхнего уровня. Большинство приложений верхнего уровня могут быть
конвертированы в Sinatra::Base компоненты с помощью двух модификаций:
* Вы должны подключать +sinatra/base+ вместо +sinatra+;
иначе, все методы предоставляемые Sinatra будут импортированные в глобальное пространство имен.
* Вы должны подключать +sinatra/base+ вместо +sinatra+,
иначе все методы предоставляемые Sinatra будут импортированные в глобальное пространство имен.
* Поместите все маршруты, обработчики ошибок, фильтры и опции в сабкласс Sinatra::Base.
<tt>Sinatra::Base</tt> — это чистый лист. Большинство опций, включая встроенный сервер, по умолчанию отключены.
@ -844,7 +844,7 @@ Rack подпрограммы, Rack приложения, Rails metal. Вы мо
Не только сама Sinatra может использовать подпрограммы Rack, любое Sinatra приложение
само может быть добавлено к любому Rack эндпоинту в качестве подпрограммы. Этим эндпоинтом
может быть другое Sinatra приложение или приложение, основанное на Rack (Rails/Ramaze/Camping/...).
может быть другое Sinatra приложение, или приложение, основанное на Rack (Rails/Ramaze/Camping/...).
require 'sinatra/base'
@ -877,7 +877,7 @@ Rack подпрограммы, Rack приложения, Rails metal. Вы мо
== Области видимости и привязка
Текущая область видимости определяет методы и переменные доступные
Текущая область видимости определяет методы и переменные, доступные
в данный момент.
=== Область видимости приложения / класса
@ -919,8 +919,8 @@ Sinatra::Application, иначе это будет сабкласс, котор
Для каждого входящего запроса будет создан новый экземпляр вашего приложения,
и все блоки обработчика будут запущены в этом контексте. В этой области
видимости вам доступны `request` и `session` объекты, вызовы методов
рендеринга такие как `erb` или `haml`. Вы можете получить доступ к
области видимости приложения из контекста запроса используя помощник `settings`:
рендеринга, такие как `erb` или `haml`. Вы можете получить доступ к
области видимости приложения из контекста запроса, используя помощник `settings`:
class MyApp << Sinatra::Base
# Я в области видимости приложения!
@ -946,11 +946,11 @@ Sinatra::Application, иначе это будет сабкласс, котор
=== Область видимости делегирования
Область видимости делегирования просто переправляет методы в область видимости класса.
Область видимости делегирования просто перенаправляет методы в область видимости класса.
Однако, оно не полностью на 100% ведет себя как область видимости класса,
так как у вас нету привязки к классу: только методы, явно помеченные для
делегирования, будут доступны, а переменных/состояний области видимости класса
не будет (иначе говоря: у вас будет другой `self` объект). Вы можете
не будет (иначе говоря, у вас будет другой `self` объект). Вы можете
непосредственно добавить методы делегирования, используя
<tt>Sinatra::Delegator.delegate :method_name</tt>.