2015-12-14 18:05:46 +00:00
|
|
|
require "ecr/macros"
|
|
|
|
|
|
|
|
# Uses built-in ECR to render views.
|
|
|
|
# # Usage
|
|
|
|
# get '/' do
|
|
|
|
# render 'hello.ecr'
|
|
|
|
# end
|
|
|
|
macro render(filename)
|
2016-01-24 17:13:10 +00:00
|
|
|
__view__ = String::Builder.new
|
|
|
|
embed_ecr({{filename}}, "__view__")
|
|
|
|
__view__.to_s
|
2015-12-14 18:05:46 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
macro render(filename, layout)
|
|
|
|
content = render {{filename}}
|
|
|
|
render {{layout}}
|
|
|
|
end
|
|
|
|
|
2016-02-14 16:52:49 +00:00
|
|
|
def add_handler(handler)
|
|
|
|
Kemal.config.add_handler handler
|
2016-01-05 12:20:40 +00:00
|
|
|
end
|
|
|
|
|
2015-12-27 09:53:54 +00:00
|
|
|
# Uses Kemal::Middleware::HTTPBasicAuth to easily add HTTP Basic Auth support.
|
2016-02-14 16:52:49 +00:00
|
|
|
def basic_auth(username, password)
|
|
|
|
auth_handler = Kemal::Middleware::HTTPBasicAuth.new(username, password)
|
2016-01-05 12:20:40 +00:00
|
|
|
add_handler auth_handler
|
2015-12-27 09:53:54 +00:00
|
|
|
end
|
2015-12-30 18:16:04 +00:00
|
|
|
|
2016-02-14 16:52:49 +00:00
|
|
|
def public_folder(path)
|
|
|
|
Kemal.config.public_folder = path
|
2015-12-30 18:16:04 +00:00
|
|
|
end
|
2016-01-08 16:44:37 +00:00
|
|
|
|
|
|
|
# Logs to output stream.
|
|
|
|
# development: STDOUT in
|
|
|
|
# production: kemal.log
|
2016-02-14 16:52:49 +00:00
|
|
|
def log(message)
|
|
|
|
Kemal.config.logger.write "#{message}\n"
|
2016-01-08 16:44:37 +00:00
|
|
|
end
|
2016-01-17 11:08:12 +00:00
|
|
|
|
|
|
|
# Enables / Disables logging
|
2016-02-14 16:52:49 +00:00
|
|
|
def logging(status)
|
|
|
|
Kemal.config.logging = status
|
2016-02-14 13:15:28 +00:00
|
|
|
end
|
|
|
|
|
2016-02-14 16:52:49 +00:00
|
|
|
def logger(logger)
|
|
|
|
Kemal.config.logger = logger
|
|
|
|
Kemal.config.add_handler logger
|
2016-01-17 11:08:12 +00:00
|
|
|
end
|