egalite 0.0.7 → 1.0.0
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.
- data/README.md +19 -0
- data/lib/egalite/version.rb +1 -1
- data/lib/egalite.rb +11 -2
- data/test/test_auth.rb +1 -2
- data/test/test_blank.rb +2 -3
- data/test/test_errorconsole.rb +5 -5
- data/test/test_keitai.rb +2 -2
- data/test/test_m17n.rb +1 -3
- data/test/test_template.rb +11 -0
- metadata +4 -87
- data/auth/basic.rb +0 -32
- data/blank.rb +0 -53
- data/egalite.rb +0 -742
- data/errorconsole.rb +0 -77
- data/helper.rb +0 -251
- data/keitai/keitai.rb +0 -107
- data/keitai/ketai.rb +0 -11
- data/keitai/rack/ketai/carrier/abstract.rb +0 -131
- data/keitai/rack/ketai/carrier/au.rb +0 -78
- data/keitai/rack/ketai/carrier/docomo.rb +0 -80
- data/keitai/rack/ketai/carrier/emoji/ausjisstrtoemojiid.rb +0 -1391
- data/keitai/rack/ketai/carrier/emoji/docomosjisstrtoemojiid.rb +0 -759
- data/keitai/rack/ketai/carrier/emoji/emojidata.rb +0 -836
- data/keitai/rack/ketai/carrier/emoji/softbankutf8strtoemojiid.rb +0 -1119
- data/keitai/rack/ketai/carrier/emoji/softbankwebcodetoutf8str.rb +0 -499
- data/keitai/rack/ketai/carrier/iphone.rb +0 -8
- data/keitai/rack/ketai/carrier/softbank.rb +0 -82
- data/keitai/rack/ketai/carrier.rb +0 -17
- data/keitai/rack/ketai/middleware.rb +0 -24
- data/m17n.rb +0 -193
- data/rack/auth/abstract/handler.rb +0 -37
- data/rack/auth/abstract/request.rb +0 -37
- data/rack/auth/basic.rb +0 -58
- data/rack/auth/digest/md5.rb +0 -124
- data/rack/auth/digest/nonce.rb +0 -51
- data/rack/auth/digest/params.rb +0 -55
- data/rack/auth/digest/request.rb +0 -40
- data/rack/builder.rb +0 -80
- data/rack/cascade.rb +0 -41
- data/rack/chunked.rb +0 -49
- data/rack/commonlogger.rb +0 -49
- data/rack/conditionalget.rb +0 -47
- data/rack/config.rb +0 -15
- data/rack/content_length.rb +0 -29
- data/rack/content_type.rb +0 -23
- data/rack/deflater.rb +0 -96
- data/rack/directory.rb +0 -157
- data/rack/etag.rb +0 -32
- data/rack/file.rb +0 -92
- data/rack/handler/cgi.rb +0 -62
- data/rack/handler/evented_mongrel.rb +0 -8
- data/rack/handler/fastcgi.rb +0 -89
- data/rack/handler/lsws.rb +0 -63
- data/rack/handler/mongrel.rb +0 -90
- data/rack/handler/scgi.rb +0 -59
- data/rack/handler/swiftiplied_mongrel.rb +0 -8
- data/rack/handler/thin.rb +0 -18
- data/rack/handler/webrick.rb +0 -73
- data/rack/handler.rb +0 -88
- data/rack/head.rb +0 -19
- data/rack/lint.rb +0 -567
- data/rack/lobster.rb +0 -65
- data/rack/lock.rb +0 -16
- data/rack/logger.rb +0 -20
- data/rack/methodoverride.rb +0 -27
- data/rack/mime.rb +0 -208
- data/rack/mock.rb +0 -190
- data/rack/nulllogger.rb +0 -18
- data/rack/recursive.rb +0 -61
- data/rack/reloader.rb +0 -109
- data/rack/request.rb +0 -273
- data/rack/response.rb +0 -150
- data/rack/rewindable_input.rb +0 -103
- data/rack/runtime.rb +0 -27
- data/rack/sendfile.rb +0 -144
- data/rack/server.rb +0 -271
- data/rack/session/abstract/id.rb +0 -140
- data/rack/session/cookie.rb +0 -90
- data/rack/session/memcache.rb +0 -119
- data/rack/session/pool.rb +0 -100
- data/rack/showexceptions.rb +0 -349
- data/rack/showstatus.rb +0 -106
- data/rack/static.rb +0 -38
- data/rack/urlmap.rb +0 -55
- data/rack/utils.rb +0 -662
- data/rack.rb +0 -81
- data/route.rb +0 -231
- data/sendmail.rb +0 -222
- data/sequel_helper.rb +0 -20
- data/session.rb +0 -132
- data/stringify_hash.rb +0 -63
- data/support.rb +0 -35
- data/template.rb +0 -287
@@ -1,80 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
|
3
|
-
require 'scanf'
|
4
|
-
|
5
|
-
module Rack::Ketai::Carrier
|
6
|
-
class Docomo < Abstract
|
7
|
-
|
8
|
-
USER_AGENT_REGEXP = /^DoCoMo/
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
class Rack::Ketai::Carrier::Docomo
|
13
|
-
class Filter < ::Rack::Ketai::Carrier::Abstract::SjisFilter
|
14
|
-
|
15
|
-
def inbound(env)
|
16
|
-
# ドコモSJISバイナリ -> 絵文字ID表記
|
17
|
-
request = Rack::Request.new(env)
|
18
|
-
|
19
|
-
request.params # 最低でも1回呼んでないと query_stringが未設定
|
20
|
-
|
21
|
-
converter = lambda do |value|
|
22
|
-
value.gsub(sjis_regexp) do |match|
|
23
|
-
format("[e:%03X]", EMOJI_TO_EMOJIID[match])
|
24
|
-
end
|
25
|
-
end
|
26
|
-
deep_apply(request.env["rack.request.query_hash"], &converter)
|
27
|
-
deep_apply(request.env["rack.request.form_hash"], &converter)
|
28
|
-
|
29
|
-
# 文字コード変換
|
30
|
-
super(request.env)
|
31
|
-
end
|
32
|
-
|
33
|
-
def outbound(status, headers, body)
|
34
|
-
status, headers, body = super
|
35
|
-
|
36
|
-
return [status, headers, body] unless body[0]
|
37
|
-
|
38
|
-
body = body.collect do |str|
|
39
|
-
str.gsub(/\[e:([0-9A-F]{3})\]/) do |match|
|
40
|
-
emojiid = $1.scanf('%X').first
|
41
|
-
sjis = EMOJIID_TO_EMOJI[emojiid]
|
42
|
-
if sjis
|
43
|
-
# 絵文字があるので差替え
|
44
|
-
sjis
|
45
|
-
else
|
46
|
-
# 絵文字がないので代替文字列
|
47
|
-
emoji_data = EMOJI_DATA[emojiid]
|
48
|
-
NKF.nkf('-Ws', (emoji_data[:fallback] || emoji_data[:name] || '〓'))
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
content = (body.is_a?(Array) ? body[0] : body).to_s
|
54
|
-
headers['Content-Length'] = (content.respond_to?(:bytesize) ? content.bytesize : content.size).to_s if headers.member?('Content-Length')
|
55
|
-
|
56
|
-
[status, headers, body]
|
57
|
-
end
|
58
|
-
|
59
|
-
private
|
60
|
-
# 絵文字コード -> 絵文字ID 対応表から、絵文字コード検出用の正規表現をつくる
|
61
|
-
# 複数の絵文字の組み合わせのものを前におくことで
|
62
|
-
# そっちを優先的にマッチさせる
|
63
|
-
def sjis_regexp
|
64
|
-
@sjis_regexp if @sjis_regexp
|
65
|
-
matchers = if RUBY_VERSION >= '1.9.1'
|
66
|
-
EMOJI_TO_EMOJIID.keys.sort_by{ |codes| - codes.size }.collect{ |sjis| Regexp.new(Regexp.escape(sjis), nil)}
|
67
|
-
else
|
68
|
-
EMOJI_TO_EMOJIID.keys.sort_by{ |codes| - codes.size }.collect{ |sjis| Regexp.new(Regexp.escape(sjis, 's'), nil, 's')}
|
69
|
-
end
|
70
|
-
@sjis_regexp = Regexp.union(*matchers)
|
71
|
-
end
|
72
|
-
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
# 変換テーブル読み込み
|
77
|
-
require 'rack/ketai/carrier/emoji/docomosjisstrtoemojiid'
|
78
|
-
|
79
|
-
Rack::Ketai::Carrier::Docomo.filters = [Rack::Ketai::Carrier::Docomo::Filter.instance]
|
80
|
-
|