nekonote-framework 1.0.0.pre.beta
Sign up to get free protection for your applications and to get access to all the features.
- 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
|