NRuby

Форк
0
1
require 'rack'
2

3
map '/images' do
4
  run Rack::File.new 'images'
5
end
6

7
class App
8
  attr_accessor :title, :description
9

10
  def initialize(title: title, description: description)
11
    @title = title
12
    @description = description
13
  end
14

15
  def call(env)
16
    [200, { 'Content-Type' => 'text/html' }, [template]]
17
  end
18

19
  def template
20
    format(HTML, title: title, description: description)
21
  end
22

23
  HTML = <<~HTML
24
           <!DOCTYPE html>
25
           <html lang="ru">
26
           <head>
27
             <title>%<title>s</title>
28
             <meta charset='utf-8'>
29
           </head>
30
           <body>
31
             <h1>%<title>s</h1>
32
             <p>
33
               <img
34
                 src='/images/ruby.jpg'
35
                 with='100'
36
                 height='100'
37
                 style='float: left; padding: 0 10px 10px 0' />
38
               %<description>s
39
             </p>
40
           </body>
41
           </html>
42
         HTML
43
end
44

45
run App.new(
46
  title: 'Язык программирования Ruby',
47
  description: <<~RUBY
48
    Ruby — динамический, рефлективный, интерпретируемый высокоуровневый
49
    язык программирования. Язык обладает независимой от операционной
50
    системы реализацией многопоточности, сильной динамической типизацией,
51
    сборщиком мусора и многими другими возможностями. По особенностям
52
    синтаксиса он близок к языкам Perl и Eiffel,
53
    по объектно-ориентированному подходу — к Smalltalk.
54
  RUBY
55
)
56

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.