Class Jpmobile::Mobile::Docomo
In: lib/jpmobile/mobile/docomo.rb
Parent: AbstractMobile

DoCoMo携帯電話

Methods

Constants

USER_AGENT_REGEXP = /^DoCoMo/   対応するUser-Agentの正規表現
MAIL_ADDRESS_REGEXP = /^.+@docomo\.ne\.jp$/   対応するメールアドレスの正規表現

Public Instance methods

オープンiエリアがあればエリアコードを String で返す。無ければ nil を返す。

[Source]

    # File lib/jpmobile/mobile/docomo.rb, line 15
15:     def areacode
16:       if params["ACTN"] == "OK"
17:         return params["AREACODE"]
18:       else
19:         return nil
20:       end
21:     end

画面情報を Display クラスのインスタンスで返す。

[Source]

    # File lib/jpmobile/mobile/docomo.rb, line 69
69:     def display
70:       @__display ||= Jpmobile::Display.new(nil,nil,
71:                             display_info[:browser_width],
72:                             display_info[:browser_height],
73:                             display_info[:color_p],
74:                             display_info[:colors])
75:     end

iモードIDを返す。

[Source]

    # File lib/jpmobile/mobile/docomo.rb, line 59
59:     def guid
60:       @request.env['HTTP_X_DCMGUID']
61:     end

FOMAカード製造番号があれば返す。無ければ nil を返す。

[Source]

    # File lib/jpmobile/mobile/docomo.rb, line 53
53:     def icc
54:       @request.env['HTTP_USER_AGENT'] =~ /icc([0-9a-zA-Z]{20})\)/
55:       return $1
56:     end
ident_device()

Alias for serial_number

iモードID, FOMAカード製造番号の順で調べ、あるものを返す。なければ nil を返す。

[Source]

    # File lib/jpmobile/mobile/docomo.rb, line 64
64:     def ident_subscriber
65:       guid || icc
66:     end

位置情報があれば Position のインスタンスを返す。無ければ nil を返す。

[Source]

    # File lib/jpmobile/mobile/docomo.rb, line 24
24:     def position
25:       return @__position if defined? @__position
26:       lat = params["lat"] || params["LAT"]
27:       lon = params["lon"] || params["LON"]
28:       geo = params["geo"] || params["GEO"]
29:       return @__position = nil if ( lat.nil? || lat == '' || lon.nil? || lon == '' )
30:       raise "Unsuppoted datum" if geo.downcase != "wgs84"
31:       pos = Jpmobile::Position.new
32:       raise "Unsuppoted" unless lat =~ /^([+-]\d+)\.(\d+)\.(\d+\.\d+)/
33:       pos.lat = Jpmobile::Position.dms2deg($1,$2,$3)
34:       raise "Unsuppoted" unless lon =~ /^([+-]\d+)\.(\d+)\.(\d+\.\d+)/
35:       pos.lon = Jpmobile::Position.dms2deg($1,$2,$3)
36:       return @__position = pos
37:     end

端末製造番号があれば返す。無ければ nil を返す。

[Source]

    # File lib/jpmobile/mobile/docomo.rb, line 40
40:     def serial_number
41:       case @request.env["HTTP_USER_AGENT"]
42:       when /ser([0-9a-zA-Z]{11})$/ # mova
43:         return $1
44:       when /ser([0-9a-zA-Z]{15});/ # FOMA
45:         return $1
46:       else
47:         return nil
48:       end
49:     end

cookieに対応しているか?

[Source]

    # File lib/jpmobile/mobile/docomo.rb, line 78
78:     def supports_cookie?
79:       false
80:     end

[Validate]