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.
Files changed (93) hide show
  1. data/README.md +19 -0
  2. data/lib/egalite/version.rb +1 -1
  3. data/lib/egalite.rb +11 -2
  4. data/test/test_auth.rb +1 -2
  5. data/test/test_blank.rb +2 -3
  6. data/test/test_errorconsole.rb +5 -5
  7. data/test/test_keitai.rb +2 -2
  8. data/test/test_m17n.rb +1 -3
  9. data/test/test_template.rb +11 -0
  10. metadata +4 -87
  11. data/auth/basic.rb +0 -32
  12. data/blank.rb +0 -53
  13. data/egalite.rb +0 -742
  14. data/errorconsole.rb +0 -77
  15. data/helper.rb +0 -251
  16. data/keitai/keitai.rb +0 -107
  17. data/keitai/ketai.rb +0 -11
  18. data/keitai/rack/ketai/carrier/abstract.rb +0 -131
  19. data/keitai/rack/ketai/carrier/au.rb +0 -78
  20. data/keitai/rack/ketai/carrier/docomo.rb +0 -80
  21. data/keitai/rack/ketai/carrier/emoji/ausjisstrtoemojiid.rb +0 -1391
  22. data/keitai/rack/ketai/carrier/emoji/docomosjisstrtoemojiid.rb +0 -759
  23. data/keitai/rack/ketai/carrier/emoji/emojidata.rb +0 -836
  24. data/keitai/rack/ketai/carrier/emoji/softbankutf8strtoemojiid.rb +0 -1119
  25. data/keitai/rack/ketai/carrier/emoji/softbankwebcodetoutf8str.rb +0 -499
  26. data/keitai/rack/ketai/carrier/iphone.rb +0 -8
  27. data/keitai/rack/ketai/carrier/softbank.rb +0 -82
  28. data/keitai/rack/ketai/carrier.rb +0 -17
  29. data/keitai/rack/ketai/middleware.rb +0 -24
  30. data/m17n.rb +0 -193
  31. data/rack/auth/abstract/handler.rb +0 -37
  32. data/rack/auth/abstract/request.rb +0 -37
  33. data/rack/auth/basic.rb +0 -58
  34. data/rack/auth/digest/md5.rb +0 -124
  35. data/rack/auth/digest/nonce.rb +0 -51
  36. data/rack/auth/digest/params.rb +0 -55
  37. data/rack/auth/digest/request.rb +0 -40
  38. data/rack/builder.rb +0 -80
  39. data/rack/cascade.rb +0 -41
  40. data/rack/chunked.rb +0 -49
  41. data/rack/commonlogger.rb +0 -49
  42. data/rack/conditionalget.rb +0 -47
  43. data/rack/config.rb +0 -15
  44. data/rack/content_length.rb +0 -29
  45. data/rack/content_type.rb +0 -23
  46. data/rack/deflater.rb +0 -96
  47. data/rack/directory.rb +0 -157
  48. data/rack/etag.rb +0 -32
  49. data/rack/file.rb +0 -92
  50. data/rack/handler/cgi.rb +0 -62
  51. data/rack/handler/evented_mongrel.rb +0 -8
  52. data/rack/handler/fastcgi.rb +0 -89
  53. data/rack/handler/lsws.rb +0 -63
  54. data/rack/handler/mongrel.rb +0 -90
  55. data/rack/handler/scgi.rb +0 -59
  56. data/rack/handler/swiftiplied_mongrel.rb +0 -8
  57. data/rack/handler/thin.rb +0 -18
  58. data/rack/handler/webrick.rb +0 -73
  59. data/rack/handler.rb +0 -88
  60. data/rack/head.rb +0 -19
  61. data/rack/lint.rb +0 -567
  62. data/rack/lobster.rb +0 -65
  63. data/rack/lock.rb +0 -16
  64. data/rack/logger.rb +0 -20
  65. data/rack/methodoverride.rb +0 -27
  66. data/rack/mime.rb +0 -208
  67. data/rack/mock.rb +0 -190
  68. data/rack/nulllogger.rb +0 -18
  69. data/rack/recursive.rb +0 -61
  70. data/rack/reloader.rb +0 -109
  71. data/rack/request.rb +0 -273
  72. data/rack/response.rb +0 -150
  73. data/rack/rewindable_input.rb +0 -103
  74. data/rack/runtime.rb +0 -27
  75. data/rack/sendfile.rb +0 -144
  76. data/rack/server.rb +0 -271
  77. data/rack/session/abstract/id.rb +0 -140
  78. data/rack/session/cookie.rb +0 -90
  79. data/rack/session/memcache.rb +0 -119
  80. data/rack/session/pool.rb +0 -100
  81. data/rack/showexceptions.rb +0 -349
  82. data/rack/showstatus.rb +0 -106
  83. data/rack/static.rb +0 -38
  84. data/rack/urlmap.rb +0 -55
  85. data/rack/utils.rb +0 -662
  86. data/rack.rb +0 -81
  87. data/route.rb +0 -231
  88. data/sendmail.rb +0 -222
  89. data/sequel_helper.rb +0 -20
  90. data/session.rb +0 -132
  91. data/stringify_hash.rb +0 -63
  92. data/support.rb +0 -35
  93. 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
-