nekonote-framework 1.0.0.pre.beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +22 -0
- data/README.md +49 -0
- data/bin/nekonote +45 -0
- data/data/structure/Gemfile +25 -0
- data/data/structure/config.ru +14 -0
- data/data/structure/handler/base.rb +21 -0
- data/data/structure/handler/error.rb +35 -0
- data/data/structure/handler/welcome.rb +11 -0
- data/data/structure/lib/.gitkeep +0 -0
- data/data/structure/preference/development/logger.yml +62 -0
- data/data/structure/preference/development/middlewares.rb +152 -0
- data/data/structure/preference/development/public.yml +29 -0
- data/data/structure/preference/development/route.yml +30 -0
- data/data/structure/preference/development/route_error.yml +28 -0
- data/data/structure/preference/development/route_include.yml +22 -0
- data/data/structure/preference/development/server/puma.rb +63 -0
- data/data/structure/preference/development/setting/example.yml +40 -0
- data/data/structure/preference/development/setting/site.yml +3 -0
- data/data/structure/preference/development/setting/welcome.yml +7 -0
- data/data/structure/public/css/layout/common.css +11 -0
- data/data/structure/public/css/layout/default.css +3 -0
- data/data/structure/public/css/layout/error.css +3 -0
- data/data/structure/public/css/welcome.css +47 -0
- data/data/structure/public/favicon.ico +0 -0
- data/data/structure/public/img/.gitkeep +0 -0
- data/data/structure/public/img/logo.png +0 -0
- data/data/structure/public/js/.gitkeep +0 -0
- data/data/structure/static/layout/default.tpl +19 -0
- data/data/structure/static/layout/error.tpl +15 -0
- data/data/structure/static/sass/welcome.scss +52 -0
- data/data/structure/static/template/error.tpl +4 -0
- data/data/structure/static/template/welcome/index.tpl +26 -0
- data/data/structure/tmp/pids/.gitkeep +0 -0
- data/lib/loader.rb +83 -0
- data/lib/nekonote.rb +9 -0
- data/lib/nekonote/cli.rb +702 -0
- data/lib/nekonote/cmd_parser.rb +55 -0
- data/lib/nekonote/core.rb +116 -0
- data/lib/nekonote/env.rb +56 -0
- data/lib/nekonote/exception/cli_error.rb +34 -0
- data/lib/nekonote/exception/error.rb +75 -0
- data/lib/nekonote/exception/handler_error.rb +5 -0
- data/lib/nekonote/exception/logger_error.rb +8 -0
- data/lib/nekonote/exception/page_cache_error.rb +6 -0
- data/lib/nekonote/exception/preference_error.rb +11 -0
- data/lib/nekonote/exception/view_error.rb +7 -0
- data/lib/nekonote/handler.rb +274 -0
- data/lib/nekonote/handler/protected_methods.rb +119 -0
- data/lib/nekonote/liquid/tag_env_get.rb +12 -0
- data/lib/nekonote/liquid/tag_setting_get.rb +12 -0
- data/lib/nekonote/logger.rb +135 -0
- data/lib/nekonote/page_cache.rb +111 -0
- data/lib/nekonote/preference.rb +215 -0
- data/lib/nekonote/puma.rb +131 -0
- data/lib/nekonote/rack/rack_static.rb +17 -0
- data/lib/nekonote/rack/rack_static_file.rb +19 -0
- data/lib/nekonote/rack/url_mapper.rb +193 -0
- data/lib/nekonote/rackup.rb +319 -0
- data/lib/nekonote/request.rb +295 -0
- data/lib/nekonote/setting.rb +59 -0
- data/lib/nekonote/spec.rb +22 -0
- data/lib/nekonote/util/filer.rb +69 -0
- data/lib/nekonote/util/process.rb +43 -0
- data/lib/nekonote/view.rb +398 -0
- data/lib/nekonote/yaml_access.rb +60 -0
- metadata +144 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
# Publishing Static Files
|
2
|
+
|
3
|
+
# Sets directories to publish
|
4
|
+
# Files under the directory are published recursively
|
5
|
+
published_directory:
|
6
|
+
- css # public/css/* will be published recursively
|
7
|
+
- js # public/js/* will be published recursively
|
8
|
+
- img # public/img/* will be published recursively
|
9
|
+
|
10
|
+
# Sets files to publish
|
11
|
+
published_file:
|
12
|
+
- favicon.ico # public/favicon.ico will be published
|
13
|
+
|
14
|
+
# Sets headers to add published static files
|
15
|
+
custom_header:
|
16
|
+
# Sets HTTP headers to all files located in the ‘public’ directory.
|
17
|
+
all:
|
18
|
+
|
19
|
+
# Sets HTTP headers to files located under a specific directory.
|
20
|
+
directory:
|
21
|
+
|
22
|
+
# Sets HTTP headers to files with a specific file name extension
|
23
|
+
extension:
|
24
|
+
|
25
|
+
# Sets HTTP headers to files matched a specific regular expression.
|
26
|
+
regexp:
|
27
|
+
|
28
|
+
# Sets HTTP headers to most common web font formats.
|
29
|
+
fonts:
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Routes Configuration
|
2
|
+
#
|
3
|
+
# e.g.
|
4
|
+
# FooHandler:
|
5
|
+
# path: /foo # This is required. The following directives are optional.
|
6
|
+
# execute: foo # It says FooHandler#foo method is called when route matches.
|
7
|
+
# method: GET, POST # It says GET or POST requests are accepted.
|
8
|
+
# params: foo=int, bar=string, baz=array, qux=float, quux=bool # The listed parameters are accepted and are coverted to its expected types.
|
9
|
+
# content: json # It says Content-Type: application/json is set to response.
|
10
|
+
# template: foo # static/template/foo.tpl is rendered.
|
11
|
+
# layout: common # static/layout/common.tpl is rendered
|
12
|
+
# # page_cache_time: 3600 # if you need page caching this route, need to comment out it.
|
13
|
+
# custom: some value # unknown fields are not directive. It will be assigned into your templates.
|
14
|
+
|
15
|
+
# ----------------------
|
16
|
+
# Route Options
|
17
|
+
# ----------------------
|
18
|
+
preference:
|
19
|
+
path_as_regexp: false
|
20
|
+
allow_dup_slash: false
|
21
|
+
|
22
|
+
# ----------------------
|
23
|
+
# Routes
|
24
|
+
# ----------------------
|
25
|
+
WelcomeHandler:
|
26
|
+
path: /
|
27
|
+
execute: index
|
28
|
+
template: welcome/index
|
29
|
+
css: /css/welcome.css
|
30
|
+
page-title: Welcome
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Routing for Error Pages
|
2
|
+
|
3
|
+
# This route is used when any route does not match a URL.
|
4
|
+
# You must set “path_as_regexp” directive to “true” which in route.yml to use this route.
|
5
|
+
missing_route:
|
6
|
+
handler: ErrorHandler
|
7
|
+
execute: missing_route
|
8
|
+
layout: error
|
9
|
+
|
10
|
+
# This route is used when some value is set to “method” directive in route.y
|
11
|
+
# and a request HTTP method is not declared in that value.
|
12
|
+
wrong_http_method:
|
13
|
+
handler: ErrorHandler
|
14
|
+
execute: wrong_http_method
|
15
|
+
layout: error
|
16
|
+
|
17
|
+
# This route is used when a fatal error raised in program.
|
18
|
+
# The exception object is set to a property called @error in a Handler you specified.
|
19
|
+
fatal:
|
20
|
+
handler: ErrorHandler
|
21
|
+
execute: fatal
|
22
|
+
layout: error
|
23
|
+
|
24
|
+
# This route is used when a requested file dosen’t exist under the “public” directo
|
25
|
+
not_found:
|
26
|
+
handler: ErrorHandler
|
27
|
+
execute: not_found
|
28
|
+
layout: error
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# This file is supposed to configure a group of some common preferences to configure routes in route.yml.
|
2
|
+
# You may specify common preferences set here by 'include' directive in route.yml.
|
3
|
+
#
|
4
|
+
# e.g.
|
5
|
+
# common:
|
6
|
+
# method: GET
|
7
|
+
# params: id=int
|
8
|
+
# content: json
|
9
|
+
# template: false
|
10
|
+
# layoute: false
|
11
|
+
#
|
12
|
+
# In order to set the above preferences you must write 'include' directive like:
|
13
|
+
#
|
14
|
+
# FooHandler:
|
15
|
+
# path: /foo
|
16
|
+
# method: foo
|
17
|
+
# include: common
|
18
|
+
#
|
19
|
+
# BarHandler:
|
20
|
+
# path: /bar
|
21
|
+
# method: bar
|
22
|
+
# include: common
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/usr/bin/env puma
|
2
|
+
# Configuration for puma web server.
|
3
|
+
# Please check the reference manual of Puma to get more information.
|
4
|
+
|
5
|
+
# document root
|
6
|
+
# It's supposed to be set absolute path to application root.
|
7
|
+
_app_root = 'REPLACE_ME_TO_APP_ROOT'
|
8
|
+
|
9
|
+
# host address to bind
|
10
|
+
_host = '0.0.0.0'
|
11
|
+
|
12
|
+
# listen port
|
13
|
+
_port = '2002'
|
14
|
+
|
15
|
+
# the directory to oparate out of
|
16
|
+
directory _app_root
|
17
|
+
|
18
|
+
# where bind to
|
19
|
+
# e.g. bind 'unix:///var/run/puma.sock'
|
20
|
+
# e.g. bind 'unix:///var/run/puma.sock?umask=0111'
|
21
|
+
# e.g. bind "ssl://#{_host}:#{_port}?key=path_to_key&cert=path_to_cert"
|
22
|
+
bind "tcp://#{_host}:#{_port}"
|
23
|
+
|
24
|
+
# for SSL you may use this instead of 'bind'
|
25
|
+
# ssl_bind _host, _port, {
|
26
|
+
# key: path_to_key,
|
27
|
+
# cert: path_to_cert
|
28
|
+
# }
|
29
|
+
|
30
|
+
# Minimum to maximum number of threads to answer.
|
31
|
+
threads 0, 16
|
32
|
+
|
33
|
+
# The environment in which the rack's app will run.
|
34
|
+
environment 'none'
|
35
|
+
|
36
|
+
# true to server is daemonize
|
37
|
+
daemonize true
|
38
|
+
|
39
|
+
# PID and state for puma web server
|
40
|
+
pidfile "#{_app_root}/tmp/pids/puma.pid"
|
41
|
+
state_path "#{_app_root}/tmp/pids/puma.state"
|
42
|
+
|
43
|
+
# log messages redrect to
|
44
|
+
stdout_redirect "#{_app_root}/log/puma.stdout.log", "#{_app_root}/log/puma.stderr.log"
|
45
|
+
# If you prefer to that output is appended, please pass true to the third parameter.
|
46
|
+
#stdout_redirect "#{_app_root}/log/puma.stdout.log", "#{_app_root}/log/puma.stderr.log", true
|
47
|
+
|
48
|
+
# Commented out to disable request logging.
|
49
|
+
# quiet
|
50
|
+
|
51
|
+
# -------------
|
52
|
+
# Cluster mode
|
53
|
+
# -------------
|
54
|
+
# How many worker precesses to run?
|
55
|
+
# The default is 0. It's not clusterized.
|
56
|
+
# workers 2
|
57
|
+
|
58
|
+
# Worker processes will be restarted when worker processes couldn't resond within this time.
|
59
|
+
# It's not request time out. It's used for detecting malfunctional woker processes.
|
60
|
+
# worker_timeout 60
|
61
|
+
|
62
|
+
# Woker processes' timeout for booting
|
63
|
+
# worker_boot_timeout 60
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# User Configuration Files
|
2
|
+
#
|
3
|
+
# You may configure some constant values here.
|
4
|
+
# ====================
|
5
|
+
# for example:
|
6
|
+
# --------------------
|
7
|
+
# foo:
|
8
|
+
# a: 1
|
9
|
+
# b: hello
|
10
|
+
# c: true
|
11
|
+
# d: 0.1
|
12
|
+
# e:
|
13
|
+
# - FOO
|
14
|
+
# - BAR
|
15
|
+
# - BAZ
|
16
|
+
# --------------------
|
17
|
+
# It's possible to reference them from Handler classes:
|
18
|
+
# __setting_get :foo #=> {"a"=>1, "b"=>"hello", "c"=>true, "d"=>0.1, "e"=>["FOO", "BAR", "BAZ"]}
|
19
|
+
# __setting_get :foo, :a #=> 1
|
20
|
+
# __setting_get :foo, :b #=> "hello"
|
21
|
+
# __setting_get :foo, :c #=> true
|
22
|
+
# __setting_get :foo, :d #=> 0.1
|
23
|
+
# __setting_get :foo, :e #=> ["FOO", "BAR", "BAZ"]
|
24
|
+
#
|
25
|
+
# Returns nil in the following cases,
|
26
|
+
# __setting_get #=> no given anything
|
27
|
+
# __setting_get :bar #=> no such field
|
28
|
+
# __setting_get :foo, :f #=> no such field in foo:
|
29
|
+
#
|
30
|
+
# In templates, You must use 'setting_get' tag like: {% setting_get foo, a %}
|
31
|
+
# ====================
|
32
|
+
foo:
|
33
|
+
a: 1
|
34
|
+
b: hello
|
35
|
+
c: true
|
36
|
+
d: 0.1
|
37
|
+
e:
|
38
|
+
- FOO
|
39
|
+
- BAR
|
40
|
+
- BAZ
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# constant values for the welcome page
|
2
|
+
url:
|
3
|
+
document: https://nekonote-framework.github.io/document
|
4
|
+
gem: https://rubygems.org/gems/nekonote-framework
|
5
|
+
github: https://github.com/khotta/Nekonote-Framework
|
6
|
+
contribute: https://nekonote-framework.github.io/contribute
|
7
|
+
license: https://github.com/khotta/Nekonote-Framework/blob/master/LICENSE
|
@@ -0,0 +1,47 @@
|
|
1
|
+
body {
|
2
|
+
background-color: #f0f0f5;
|
3
|
+
}
|
4
|
+
|
5
|
+
#content {
|
6
|
+
margin-left: 0.6em;
|
7
|
+
font-family: helvetica, arial, sans-serif;
|
8
|
+
}
|
9
|
+
#content h3 {
|
10
|
+
color: #e6005c;
|
11
|
+
font-family: 'Open Sans', sans-serif;
|
12
|
+
letter-spacing: 0.1em;
|
13
|
+
}
|
14
|
+
#content h4 {
|
15
|
+
color: #ff1a1a;
|
16
|
+
font-family: 'Open Sans', sans-serif;
|
17
|
+
letter-spacing: 0.1em;
|
18
|
+
font-weight: normal;
|
19
|
+
margin-top: 2em;
|
20
|
+
margin-bottom: 0.6em;
|
21
|
+
}
|
22
|
+
#content .description {
|
23
|
+
text-indent: 2em;
|
24
|
+
}
|
25
|
+
#content em {
|
26
|
+
color: #ff0066;
|
27
|
+
}
|
28
|
+
#content a {
|
29
|
+
color: #737373;
|
30
|
+
text-decoration: none;
|
31
|
+
}
|
32
|
+
#content a:hover {
|
33
|
+
color: #ff8566;
|
34
|
+
text-decoration: underline;
|
35
|
+
}
|
36
|
+
#content #footer-logo {
|
37
|
+
position: fixed;
|
38
|
+
bottom: 5%;
|
39
|
+
right: 5%;
|
40
|
+
background-image: url("/img/logo.png");
|
41
|
+
background-repeat: no-repeat;
|
42
|
+
background-size: 15em 5em;
|
43
|
+
height: 5em;
|
44
|
+
width: 15em;
|
45
|
+
}
|
46
|
+
|
47
|
+
/*# sourceMappingURL=welcome.css.map */
|
Binary file
|
File without changes
|
Binary file
|
File without changes
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<head>
|
3
|
+
<meta charset="UTF-8" />
|
4
|
+
<link rel="stylesheet" type="text/css" href="/css/layout/common.css?1.0.0" />
|
5
|
+
<link rel="stylesheet" type="text/css" href="/css/layout/default.css?1.0.0" />
|
6
|
+
{% if css %}<link rel="stylesheet" type="text/css" href="{{css}}" />{% endif %}
|
7
|
+
{% if title %}<title>{{title}}</title>{% endif %}
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
<div id="header-line"></div>
|
11
|
+
|
12
|
+
<div id="content">
|
13
|
+
{{content}}
|
14
|
+
</div>
|
15
|
+
{% comment %}
|
16
|
+
Note: {{content}} is magical. Your template is rendered there.
|
17
|
+
{% endcomment %}
|
18
|
+
</body>
|
19
|
+
</html>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<head>
|
3
|
+
<meta charset="UTF-8" />
|
4
|
+
<link rel="stylesheet" type="text/css" href="/css/layout/common.css?1.0.0" />
|
5
|
+
<link rel="stylesheet" type="text/css" href="/css/layout/error.css?1.0.0" />
|
6
|
+
{% if css %}<link rel="stylesheet" type="text/css" href="{{css}}" />{% endif %}
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<div id="header-line"></div>
|
10
|
+
|
11
|
+
<div id="content">
|
12
|
+
{{content}}
|
13
|
+
</div>
|
14
|
+
|
15
|
+
</html>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
@mixin stylish-font {
|
2
|
+
font-family: 'Open Sans', sans-serif;
|
3
|
+
letter-spacing: 0.1em;
|
4
|
+
}
|
5
|
+
|
6
|
+
body {
|
7
|
+
background-color: #f0f0f5;
|
8
|
+
}
|
9
|
+
|
10
|
+
#content {
|
11
|
+
margin-left: 0.6em;
|
12
|
+
font-family: helvetica, arial, sans-serif;
|
13
|
+
h3 {
|
14
|
+
color: #e6005c;
|
15
|
+
@include stylish-font;
|
16
|
+
}
|
17
|
+
h4 {
|
18
|
+
color: #ff1a1a;
|
19
|
+
@include stylish-font;
|
20
|
+
font-weight: normal;
|
21
|
+
margin-top: 2em;
|
22
|
+
margin-bottom: 0.6em;
|
23
|
+
}
|
24
|
+
.description {
|
25
|
+
text-indent: 2em;
|
26
|
+
}
|
27
|
+
em {
|
28
|
+
color: #ff0066;
|
29
|
+
}
|
30
|
+
a {
|
31
|
+
color: #737373;
|
32
|
+
text-decoration: none;
|
33
|
+
&:link {
|
34
|
+
}
|
35
|
+
&:visited {
|
36
|
+
}
|
37
|
+
&:hover {
|
38
|
+
color: #ff8566;
|
39
|
+
text-decoration: underline;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
#footer-logo {
|
43
|
+
position: fixed;
|
44
|
+
bottom: 5%;
|
45
|
+
right: 5%;
|
46
|
+
background-image: url("/img/logo.png");
|
47
|
+
background-repeat: no-repeat;
|
48
|
+
background-size: 15em 5em;
|
49
|
+
height: 5em;
|
50
|
+
width: 15em;
|
51
|
+
}
|
52
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<div id="content">
|
2
|
+
<h3>Welcome to Nekonote Framework!</h3>
|
3
|
+
<p class="description">{{description}}</p>
|
4
|
+
|
5
|
+
<h4>Information</h4>
|
6
|
+
<ul>
|
7
|
+
<li>The version is <em>{{version}}</em></li>
|
8
|
+
<li>Current Environment: <em>{{env}}</em></li>
|
9
|
+
<li>The Application Root: <em>{{root}}</em></li>
|
10
|
+
</ul>
|
11
|
+
|
12
|
+
<h4>Do you need help?</h4>
|
13
|
+
<ul>
|
14
|
+
<li>Reference Manual <a href="{% setting_get url, document %}">{% setting_get url, document %}</a></li>
|
15
|
+
<li>Contribute <a href="{% setting_get url, contribute %}">{% setting_get url, contribute %}</a></li>
|
16
|
+
</ul>
|
17
|
+
|
18
|
+
<h4>Nekonote Framework is open-source software</h4>
|
19
|
+
<ul>
|
20
|
+
<li>License <a href="{% setting_get url, license %}">{% setting_get url, license %}</a></li>
|
21
|
+
<li>GitHub <a href="{% setting_get url, github %}">{% setting_get url, github %}</a></li>
|
22
|
+
<li>Repository <a href="{% setting_get url, gem %}">{% setting_get url, gem %}</a></li>
|
23
|
+
</ul>
|
24
|
+
|
25
|
+
<div id="footer-logo"></div>
|
26
|
+
</div>
|
File without changes
|
data/lib/loader.rb
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
# for bundler
|
2
|
+
require 'bundler'
|
3
|
+
require 'bundler/setup'
|
4
|
+
|
5
|
+
# ========================================
|
6
|
+
# auto loading standard and gem libraries
|
7
|
+
# ========================================
|
8
|
+
# standard libraries
|
9
|
+
# TODO need namespace for avoiding declaration
|
10
|
+
autoload :Psych, 'yaml'
|
11
|
+
autoload :YAML, 'yaml'
|
12
|
+
autoload :Singleton, 'singleton'
|
13
|
+
autoload :FileUtils, 'fileutils'
|
14
|
+
autoload :URI, 'uri'
|
15
|
+
|
16
|
+
# dependent gem libraries
|
17
|
+
autoload :Rack, 'rack'
|
18
|
+
autoload :Liquid, 'liquid'
|
19
|
+
autoload :Puma, 'puma/control_cli'
|
20
|
+
autoload :SimpleRotate, 'simple_rotate'
|
21
|
+
|
22
|
+
# optional gem libraries
|
23
|
+
autoload :ConnectionPool, 'connection_pool'
|
24
|
+
# for Dalli
|
25
|
+
autoload :Dalli, 'dalli'
|
26
|
+
begin
|
27
|
+
module Rack
|
28
|
+
module Session
|
29
|
+
autoload :Dalli, 'rack/session/dalli'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
rescue LoadError
|
33
|
+
# ignore LoadError in case the set-up hasn't completed yet
|
34
|
+
end
|
35
|
+
|
36
|
+
# ==============================
|
37
|
+
# auto loading internal files
|
38
|
+
# ==============================
|
39
|
+
module Nekonote
|
40
|
+
@@lib_root_path = File.expand_path(File.dirname(__FILE__)) + '/nekonote/'
|
41
|
+
def self.get_lib_root_path
|
42
|
+
return @@lib_root_path
|
43
|
+
end
|
44
|
+
|
45
|
+
# extends Nekonote module
|
46
|
+
require Nekonote.get_lib_root_path + 'spec'
|
47
|
+
require Nekonote.get_lib_root_path + 'core'
|
48
|
+
|
49
|
+
module Util
|
50
|
+
autoload :Filer, Nekonote.get_lib_root_path + 'util/filer'
|
51
|
+
autoload :Process, Nekonote.get_lib_root_path + 'util/process'
|
52
|
+
end
|
53
|
+
|
54
|
+
[
|
55
|
+
{:class => :Error, :file => 'exception/error'},
|
56
|
+
{:class => :PageCacheError, :file => 'exception/page_cache_error'},
|
57
|
+
{:class => :PreferenceError, :file => 'exception/preference_error'},
|
58
|
+
{:class => :ViewError, :file => 'exception/view_error'},
|
59
|
+
{:class => :CLIError, :file => 'exception/cli_error'},
|
60
|
+
{:class => :HandlerError, :file => 'exception/handler_error'},
|
61
|
+
{:class => :LoggerError, :file => 'exception/logger_error'},
|
62
|
+
{:class => :YamlAccess, :file => 'yaml_access'},
|
63
|
+
{:class => :Env, :file => 'env'},
|
64
|
+
{:class => :Preference, :file => 'preference'},
|
65
|
+
{:class => :Setting, :file => 'setting'},
|
66
|
+
{:class => :PageCache, :file => 'page_cache'},
|
67
|
+
{:class => :View, :file => 'view'},
|
68
|
+
{:class => :TagEnvGet, :file => 'liquid/tag_env_get'},
|
69
|
+
{:class => :TagSettingGet, :file => 'liquid/tag_setting_get'},
|
70
|
+
{:class => :Request, :file => 'request'},
|
71
|
+
{:class => :Handler, :file => 'handler.rb'},
|
72
|
+
{:class => :Rackup, :file => 'rackup'},
|
73
|
+
{:class => :Cli, :file => 'cli'},
|
74
|
+
{:class => :CmdParser, :file => 'cmd_parser'},
|
75
|
+
{:class => :Puma, :file => 'puma'},
|
76
|
+
{:class => :RackStaticFile , :file => 'rack/rack_static_file'},
|
77
|
+
{:class => :RackStatic, :file => 'rack/rack_static'},
|
78
|
+
{:class => :URLMapper, :file => 'rack/url_mapper'},
|
79
|
+
{:class => :Logger, :file => 'logger'}
|
80
|
+
].each do |data|
|
81
|
+
autoload data[:class], Nekonote.get_lib_root_path + data[:file]
|
82
|
+
end
|
83
|
+
end
|