erio 0.0.2.0.pre.1 → 0.0.2.0.pre.2
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 +4 -4
- data/README.md +183 -1
- data/lib/erio/kaki.rb +8 -0
- data/lib/erio/topo.rb +9 -9
- data/lib/erio/version.rb +1 -1
- data/lib/erio.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c793930761cbd3b6dcedf1c21ed6ac9a428aecb1090217776c3c52fd17a5f397
|
4
|
+
data.tar.gz: a40ce8b6e6474695be33182ad90a4c30f8ba221cb629c9108f2f64fcfd659e2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15ae3a24e4d181d3b8cfdf227700d4b2534cdbc3cbec903a3d0999f5e70b8b135b2d8f49e592f64833722f934caab0e9744db7b3d0b924ca125289efeac1d2f4
|
7
|
+
data.tar.gz: 1a52c104b6ff1042df2bb11d8a96784c8f443f433e1fe7ea1055d6accb8a03bea51309ce5028f8f55edc4cc32cf47c1cb1b5053aba2d0f8bdafc42eea2cbb86e
|
data/README.md
CHANGED
@@ -4,6 +4,12 @@ A very chubby, tiny and lightweight Web Framework(base on Rack)
|
|
4
4
|
|
5
5
|
凄く小さいなウェブ・フラムワーク。
|
6
6
|
|
7
|
+
<style>
|
8
|
+
[cols-2] { column-count: 2 }
|
9
|
+
[cols-3] { column-count: 3 }
|
10
|
+
[cols-4] { column-count: 4 }
|
11
|
+
</style>
|
12
|
+
|
7
13
|
## インストール :: Installation
|
8
14
|
|
9
15
|
```bash
|
@@ -78,11 +84,187 @@ end
|
|
78
84
|
Erio.run!
|
79
85
|
```
|
80
86
|
|
87
|
+
### 迷う宮ノ様な回路ニ作ろう :: Nested Page Sugar
|
88
|
+
|
89
|
+
|
90
|
+
複雑ノ回路もサポートします。
|
91
|
+
同じのコードを繰り返し書き込みの面倒も遠慮なく。
|
92
|
+
|
93
|
+
<figure cols-2>
|
94
|
+
|
95
|
+
タイプ·M
|
96
|
+
|
97
|
+
```yaml
|
98
|
+
- user
|
99
|
+
- 123
|
100
|
+
- album
|
101
|
+
- 23
|
102
|
+
```
|
103
|
+
|
104
|
+
タイプ·S
|
105
|
+
|
106
|
+
```yaml
|
107
|
+
- /user
|
108
|
+
- /user/123
|
109
|
+
- /user/123/album
|
110
|
+
- /user/123/album/23
|
111
|
+
|
112
|
+
```
|
113
|
+
|
114
|
+
</figure>
|
115
|
+
|
116
|
+
そして、処理に引きされば...
|
117
|
+
|
118
|
+
<figure cols-2>
|
119
|
+
|
120
|
+
タイプ·M
|
121
|
+
|
122
|
+
```yaml
|
123
|
+
- user
|
124
|
+
# 処理 user
|
125
|
+
- ''
|
126
|
+
# 処理
|
127
|
+
- 123
|
128
|
+
# 処理 123
|
129
|
+
- ''
|
130
|
+
# 処理
|
131
|
+
- album
|
132
|
+
# 処理 album
|
133
|
+
# 処理
|
134
|
+
- 23
|
135
|
+
# 処理 23
|
136
|
+
```
|
137
|
+
|
138
|
+
タイプ·S
|
139
|
+
|
140
|
+
```yaml
|
141
|
+
- /user
|
142
|
+
# 処理 user
|
143
|
+
- /user/123
|
144
|
+
# 処理 user
|
145
|
+
# 処理 123
|
146
|
+
- /user/123/album
|
147
|
+
# 処理 user
|
148
|
+
# 処理 123
|
149
|
+
# 処理 album
|
150
|
+
- /user/123/album/23
|
151
|
+
# 処理 user
|
152
|
+
# 処理 123
|
153
|
+
# 処理 album
|
154
|
+
# 処理 23
|
155
|
+
|
156
|
+
```
|
157
|
+
|
158
|
+
</figure>
|
159
|
+
|
160
|
+
#### 実のコードご覧。
|
161
|
+
|
162
|
+
|
163
|
+
<figure cols-2>
|
164
|
+
|
165
|
+
回路ニ使える
|
166
|
+
|
167
|
+
```ruby
|
168
|
+
on 'user'
|
169
|
+
content_type 'html'
|
170
|
+
is do
|
171
|
+
echoln 'userlist...'
|
172
|
+
end
|
173
|
+
|
174
|
+
on Integer do |uid|
|
175
|
+
@uid = uid
|
176
|
+
is do
|
177
|
+
echoln "user: #{uid}"
|
178
|
+
end
|
179
|
+
|
180
|
+
on 'album' do
|
181
|
+
echoln "user #{uid}'s album"
|
182
|
+
is do
|
183
|
+
echoln "pics..."
|
184
|
+
for pic in Dir["asset/user/#{@uid}/*.png"]
|
185
|
+
echoln "<img src=\"#{pic}\">"
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
is Integer do |pn|
|
190
|
+
echoln "pic #{pn}"
|
191
|
+
echoln "<img src=\"asset/#{@uid}/#{@pn}.png\">"
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
195
|
+
end
|
196
|
+
```
|
197
|
+
|
198
|
+
回路に使えないならば...線性パス
|
199
|
+
|
200
|
+
```ruby
|
201
|
+
on '/user' do
|
202
|
+
echoln 'userlist...'
|
203
|
+
end
|
204
|
+
|
205
|
+
on '/user/:uid' do |uid|
|
206
|
+
@uid = uid
|
207
|
+
echoln "user: #{uid}"
|
208
|
+
end
|
209
|
+
|
210
|
+
on '/user/:uid/album' do |uid|
|
211
|
+
@uid = uid
|
212
|
+
echoln "user #{uid}'s album"
|
213
|
+
echoln "pics..."
|
214
|
+
for pic in Dir["asset/user/#{@uid}/*.png"].map
|
215
|
+
echoln "<img src=\"#{pic}\">"
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
219
|
+
on '/user/:uid/album/:pn' do |uid, pn|
|
220
|
+
@uid = uid
|
221
|
+
@pn = pn
|
222
|
+
echoln "user #{uid}'s album"
|
223
|
+
echoln "pic #{pn}"
|
224
|
+
echoln "<img src=\"asset/#{@uid}/#{@pn}.png\">"
|
225
|
+
end
|
226
|
+
```
|
227
|
+
|
228
|
+
</figure>
|
229
|
+
|
230
|
+
試験コードご覧ください
|
231
|
+
|
232
|
+
```ruby
|
233
|
+
|
234
|
+
Erio.enter do
|
235
|
+
# 唯ルト、残されパスは無いノ場合。
|
236
|
+
is do
|
237
|
+
echo 'home'
|
238
|
+
end
|
239
|
+
# 前に合わせてならば... そして引数を取って。
|
240
|
+
on 'user', Integer do |_, uid|
|
241
|
+
# 唯此れニ合わせて
|
242
|
+
is do
|
243
|
+
echo "space of user: #{uid}."
|
244
|
+
end
|
245
|
+
# リクエストのパラメータも取って。
|
246
|
+
is 'album', param(pn: Integer) do |_, pn|
|
247
|
+
content_type 'html'
|
248
|
+
echo "picture of user: #{uid} <img src=\"#{pn}.png\">"
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
# 後ノ条件も合わせてしたい。
|
253
|
+
also
|
254
|
+
|
255
|
+
# ご報告ニ送りします
|
256
|
+
on param(:warn) do
|
257
|
+
puts "warn #{ip} - #{verb} #{path}"
|
258
|
+
end
|
259
|
+
end
|
260
|
+
|
261
|
+
```
|
262
|
+
|
81
263
|
## 作ル人 :: Creator
|
82
264
|
|
83
265
|
__SAISUI__ :: 彩穂
|
84
266
|
|
85
|
-
tip from `rack`, `sinatra`
|
267
|
+
tip from `rack`, `sinatra`, `rum`
|
86
268
|
|
87
269
|
## コード協力 :: Contributing
|
88
270
|
|
data/lib/erio/kaki.rb
ADDED
data/lib/erio/topo.rb
CHANGED
@@ -29,8 +29,7 @@ class << Erio
|
|
29
29
|
def path(p)
|
30
30
|
if @_isis
|
31
31
|
lambda {
|
32
|
-
if env['PATH_INFO'] =~ /\A(
|
33
|
-
# if env['PATH_INFO'] =~ /\A\/*\z/
|
32
|
+
if env['PATH_INFO'] =~ /\A\/*(#{p}\/*)\z/
|
34
33
|
env['SCRIPT_NAME'] += $1||''
|
35
34
|
env['PATH_INFO'] = ''
|
36
35
|
$1
|
@@ -46,15 +45,16 @@ class << Erio
|
|
46
45
|
}
|
47
46
|
end
|
48
47
|
end
|
49
|
-
|
48
|
+
|
49
|
+
def eq obj
|
50
|
+
-> { _1 == obj }
|
51
|
+
end
|
52
|
+
|
50
53
|
def match(pat)
|
51
54
|
case pat
|
52
|
-
when
|
53
|
-
|
54
|
-
|
55
|
-
when Integer; path('\\d+').call
|
56
|
-
when String; path('[^\\/]+').call
|
57
|
-
end
|
55
|
+
when eq(Numeric); path('\\d+(?:\\.\\d+)?').call
|
56
|
+
when eq(Integer); path('\\d+').call
|
57
|
+
when eq(String); path('[^\\/]+').call
|
58
58
|
when String, Numeric; path(pat).call
|
59
59
|
when Regexp; path(pat.source).call
|
60
60
|
when true, false; pat
|
data/lib/erio/version.rb
CHANGED
data/lib/erio.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: erio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.2.0.pre.
|
4
|
+
version: 0.0.2.0.pre.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kozmozEnjel
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-03-
|
10
|
+
date: 2025-03-23 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: For Education but powerful and useful.
|
13
13
|
email:
|
@@ -27,6 +27,7 @@ files:
|
|
27
27
|
- demo/blog.ru
|
28
28
|
- demo/map.ru
|
29
29
|
- lib/erio.rb
|
30
|
+
- lib/erio/kaki.rb
|
30
31
|
- lib/erio/short.rb
|
31
32
|
- lib/erio/topo.rb
|
32
33
|
- lib/erio/version.rb
|