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