rack-ketai 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,6 +6,7 @@ require 'rack/request'
6
6
  require 'stringio'
7
7
  require 'ipaddr'
8
8
  require 'rack/ketai/filter'
9
+ require 'rack/ketai/middleware'
9
10
 
10
11
  unless IPAddr.instance_methods.include?("to_range")
11
12
  class IPAddr
@@ -102,11 +103,21 @@ module Rack::Ketai::Carrier
102
103
  false
103
104
  end
104
105
 
106
+ # フィーチャーフォンか
107
+ def featurephone?
108
+ false
109
+ end
110
+
105
111
  # スマートフォンか
106
112
  def smartphone?
107
113
  false
108
114
  end
109
115
 
116
+ # タブレットか
117
+ def tablet?
118
+ false
119
+ end
120
+
110
121
  # サブスクライバID
111
122
  # 契約者毎にユニーク
112
123
  def subscriberid
@@ -10,6 +10,15 @@ module Rack::Ketai::Carrier
10
10
  def supports_cookie?
11
11
  true
12
12
  end
13
+
14
+ def smartphone?
15
+ super && !tablet?
16
+ end
17
+
18
+ def tablet?
19
+ @env['HTTP_USER_AGENT'].to_s !~ /Mobile/ ||
20
+ @env['HTTP_USER_AGENT'].to_s =~ /SC-01C/
21
+ end
13
22
 
14
23
  end
15
24
  end
@@ -1,27 +1,17 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html
3
- # 2011.8.2現在
3
+ # 2012.12.10現在
4
4
 
5
5
  Rack::Ketai::Carrier::Au::CIDRS = %w(
6
6
  210.230.128.224/28
7
- 121.111.227.160/27
8
- 61.117.1.0/28
9
7
  219.108.158.0/27
10
8
  219.125.146.0/28
11
9
  61.117.2.32/29
12
10
  61.117.2.40/29
13
11
  219.108.158.40/29
14
- 219.125.148.0/25
15
- 222.5.63.0/25
16
- 222.5.63.128/25
17
- 222.5.62.128/25
18
- 59.135.38.128/25
19
- 219.108.157.0/25
20
- 219.125.145.0/25
21
12
  121.111.231.0/25
22
13
  121.111.227.0/25
23
14
  118.152.214.192/26
24
- 118.159.131.0/25
25
15
  118.159.133.0/25
26
16
  118.159.132.160/27
27
17
  111.86.142.0/26
@@ -45,7 +35,6 @@ Rack::Ketai::Carrier::Au::CIDRS = %w(
45
35
  111.86.147.160/27
46
36
  111.86.147.192/27
47
37
  111.86.147.224/27
48
- 111.107.116.0/26
49
38
  111.107.116.64/26
50
39
  111.107.116.192/28
51
40
  ).collect{ |cidr| IPAddr.new(cidr) }
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # http://www.nttdocomo.co.jp/service/imode/make/content/ip/index.html
3
- # 2011.8.2時点
3
+ # 2012.12.10時点
4
4
 
5
5
  Rack::Ketai::Carrier::Docomo::CIDRS = %w(
6
6
  210.153.84.0/24
@@ -1,9 +1,11 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # http://creation.mb.softbank.jp/web/web_ip.html
3
- # 2011.8.2時点
3
+ # 2012.12.10時点
4
4
 
5
5
  Rack::Ketai::Carrier::Softbank::CIDRS = %w(
6
- 123.108.237.0/27
7
- 202.253.96.224/27
8
- 210.146.7.192/26
6
+ 123.108.237.112/28
7
+ 123.108.239.224/28
8
+ 202.253.96.144/28
9
+ 202.253.99.144/28
10
+ 210.228.189.188/30
9
11
  ).collect{ |cidr| IPAddr.new(cidr) }
@@ -5,11 +5,19 @@ require 'rack/ketai/carrier/smartphone'
5
5
  module Rack::Ketai::Carrier
6
6
  class IPhone < Smartphone
7
7
 
8
- USER_AGENT_REGEXP = /iPhone|iPod/
8
+ USER_AGENT_REGEXP = /iPhone|iPod|iPad/
9
9
 
10
10
  def supports_cookie?
11
11
  true
12
12
  end
13
+
14
+ def smartphone?
15
+ super && !tablet?
16
+ end
17
+
18
+ def tablet?
19
+ @env['HTTP_USER_AGENT'].to_s =~ /iPad/
20
+ end
13
21
 
14
22
  end
15
23
  end
@@ -9,6 +9,10 @@ module Rack::Ketai::Carrier
9
9
  true
10
10
  end
11
11
 
12
+ def featurephone?
13
+ true
14
+ end
15
+
12
16
  end
13
17
  end
14
18
 
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
- require 'rack/ketai/carrier/mobile'
3
+ require 'rack/ketai/carrier/general'
4
4
 
5
5
  module Rack::Ketai::Carrier
6
6
  class Smartphone < General
metadata CHANGED
@@ -1,120 +1,108 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rack-ketai
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.4
4
5
  prerelease:
5
- version: 0.2.3
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Yuichi Takeuchi
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-08-02 00:00:00 +09:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
12
+ date: 2012-12-10 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
17
15
  name: rack
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
20
17
  none: false
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
24
21
  version: 1.0.0
25
22
  type: :runtime
26
- version_requirements: *id001
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.0.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
27
46
  description:
28
47
  email: info@takeyu-web.com
29
48
  executables: []
30
-
31
49
  extensions: []
32
-
33
- extra_rdoc_files:
34
- - README.rdoc
35
- files:
36
- - MIT-LICENSE
37
- - README.rdoc
38
- - Rakefile
39
- - VERSION
40
- - lib/rack/ketai.rb
50
+ extra_rdoc_files: []
51
+ files:
52
+ - lib/rack/ketai/filter.rb
53
+ - lib/rack/ketai/middleware.rb
54
+ - lib/rack/ketai/position.rb
41
55
  - lib/rack/ketai/carrier.rb
56
+ - lib/rack/ketai/carrier/emoji/softbankutf8strtoemojiid.rb
57
+ - lib/rack/ketai/carrier/emoji/softbankwebcodetoutf8str.rb
58
+ - lib/rack/ketai/carrier/emoji/docomosjisstrtoemojiid.rb
59
+ - lib/rack/ketai/carrier/emoji/emojidata.rb
60
+ - lib/rack/ketai/carrier/emoji/ausjisstrtoemojiid.rb
61
+ - lib/rack/ketai/carrier/emoji/emojiidtotypecast.rb
62
+ - lib/rack/ketai/carrier/smartphone.rb
42
63
  - lib/rack/ketai/carrier/abstract.rb
43
- - lib/rack/ketai/carrier/android.rb
44
- - lib/rack/ketai/carrier/au.rb
45
- - lib/rack/ketai/carrier/cidrs/au.rb
46
64
  - lib/rack/ketai/carrier/cidrs/docomo.rb
47
65
  - lib/rack/ketai/carrier/cidrs/softbank.rb
66
+ - lib/rack/ketai/carrier/cidrs/au.rb
48
67
  - lib/rack/ketai/carrier/docomo.rb
49
- - lib/rack/ketai/carrier/emoji/ausjisstrtoemojiid.rb
50
- - lib/rack/ketai/carrier/emoji/docomosjisstrtoemojiid.rb
51
- - lib/rack/ketai/carrier/emoji/emojidata.rb
52
- - lib/rack/ketai/carrier/emoji/emojiidtotypecast.rb
53
- - lib/rack/ketai/carrier/emoji/softbankutf8strtoemojiid.rb
54
- - lib/rack/ketai/carrier/emoji/softbankwebcodetoutf8str.rb
68
+ - lib/rack/ketai/carrier/specs/docomo.rb
69
+ - lib/rack/ketai/carrier/specs/softbank.rb
70
+ - lib/rack/ketai/carrier/specs/au.rb
55
71
  - lib/rack/ketai/carrier/general.rb
72
+ - lib/rack/ketai/carrier/android.rb
73
+ - lib/rack/ketai/carrier/softbank.rb
56
74
  - lib/rack/ketai/carrier/iphone.rb
57
75
  - lib/rack/ketai/carrier/mobile.rb
58
- - lib/rack/ketai/carrier/smartphone.rb
59
- - lib/rack/ketai/carrier/softbank.rb
60
- - lib/rack/ketai/carrier/specs/au.rb
61
- - lib/rack/ketai/carrier/specs/docomo.rb
62
- - lib/rack/ketai/carrier/specs/softbank.rb
76
+ - lib/rack/ketai/carrier/au.rb
63
77
  - lib/rack/ketai/display.rb
64
- - lib/rack/ketai/filter.rb
65
- - lib/rack/ketai/middleware.rb
66
- - lib/rack/ketai/position.rb
67
- - rack-ketai.gemspec
68
- - spec/spec_helper.rb
69
- - spec/unit/android_spec.rb
70
- - spec/unit/au_filter_spec.rb
71
- - spec/unit/au_spec.rb
72
- - spec/unit/carrier_spec.rb
73
- - spec/unit/display_spec.rb
74
- - spec/unit/docomo_filter_spec.rb
75
- - spec/unit/docomo_spec.rb
76
- - spec/unit/emoticon_filter_spec.rb
77
- - spec/unit/filter_spec.rb
78
- - spec/unit/general_spec.rb
79
- - spec/unit/gps_spec.rb
80
- - spec/unit/iphone_spec.rb
81
- - spec/unit/middleware_spec.rb
82
- - spec/unit/position_spec.rb
83
- - spec/unit/softbank_filter_spec.rb
84
- - spec/unit/softbank_spec.rb
85
- - spec/unit/valid_addr_spec.rb
86
- - test/spec_runner.rb
87
- - tools/generate_emoji_dic.rb
88
- - tools/update_speclist.rb
78
+ - lib/rack/ketai.rb
89
79
  - vendor/datum_conv/MIT-LICENSE
90
80
  - vendor/datum_conv/lib/datum_conv.rb
91
- has_rdoc: true
81
+ - MIT-LICENSE
82
+ - Rakefile
83
+ - README.rdoc
92
84
  homepage: http://github.com/take-yu/rack-ketai
93
85
  licenses: []
94
-
95
86
  post_install_message:
96
87
  rdoc_options: []
97
-
98
- require_paths:
88
+ require_paths:
99
89
  - lib
100
- required_ruby_version: !ruby/object:Gem::Requirement
90
+ required_ruby_version: !ruby/object:Gem::Requirement
101
91
  none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- version: "0"
106
- required_rubygems_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
97
  none: false
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: "0"
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
112
102
  requirements: []
113
-
114
103
  rubyforge_project:
115
- rubygems_version: 1.6.2
104
+ rubygems_version: 1.8.23
116
105
  signing_key:
117
106
  specification_version: 3
118
107
  summary: A Rack Middleware for Japanese mobile-phones
119
108
  test_files: []
120
-
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.2.3
data/rack-ketai.gemspec DELETED
@@ -1,91 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{rack-ketai}
8
- s.version = "0.2.3"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Yuichi Takeuchi"]
12
- s.date = %q{2011-08-02}
13
- s.email = %q{info@takeyu-web.com}
14
- s.extra_rdoc_files = [
15
- "README.rdoc"
16
- ]
17
- s.files = [
18
- "MIT-LICENSE",
19
- "README.rdoc",
20
- "Rakefile",
21
- "VERSION",
22
- "lib/rack/ketai.rb",
23
- "lib/rack/ketai/carrier.rb",
24
- "lib/rack/ketai/carrier/abstract.rb",
25
- "lib/rack/ketai/carrier/android.rb",
26
- "lib/rack/ketai/carrier/au.rb",
27
- "lib/rack/ketai/carrier/cidrs/au.rb",
28
- "lib/rack/ketai/carrier/cidrs/docomo.rb",
29
- "lib/rack/ketai/carrier/cidrs/softbank.rb",
30
- "lib/rack/ketai/carrier/docomo.rb",
31
- "lib/rack/ketai/carrier/emoji/ausjisstrtoemojiid.rb",
32
- "lib/rack/ketai/carrier/emoji/docomosjisstrtoemojiid.rb",
33
- "lib/rack/ketai/carrier/emoji/emojidata.rb",
34
- "lib/rack/ketai/carrier/emoji/emojiidtotypecast.rb",
35
- "lib/rack/ketai/carrier/emoji/softbankutf8strtoemojiid.rb",
36
- "lib/rack/ketai/carrier/emoji/softbankwebcodetoutf8str.rb",
37
- "lib/rack/ketai/carrier/general.rb",
38
- "lib/rack/ketai/carrier/iphone.rb",
39
- "lib/rack/ketai/carrier/mobile.rb",
40
- "lib/rack/ketai/carrier/smartphone.rb",
41
- "lib/rack/ketai/carrier/softbank.rb",
42
- "lib/rack/ketai/carrier/specs/au.rb",
43
- "lib/rack/ketai/carrier/specs/docomo.rb",
44
- "lib/rack/ketai/carrier/specs/softbank.rb",
45
- "lib/rack/ketai/display.rb",
46
- "lib/rack/ketai/filter.rb",
47
- "lib/rack/ketai/middleware.rb",
48
- "lib/rack/ketai/position.rb",
49
- "rack-ketai.gemspec",
50
- "spec/spec_helper.rb",
51
- "spec/unit/android_spec.rb",
52
- "spec/unit/au_filter_spec.rb",
53
- "spec/unit/au_spec.rb",
54
- "spec/unit/carrier_spec.rb",
55
- "spec/unit/display_spec.rb",
56
- "spec/unit/docomo_filter_spec.rb",
57
- "spec/unit/docomo_spec.rb",
58
- "spec/unit/emoticon_filter_spec.rb",
59
- "spec/unit/filter_spec.rb",
60
- "spec/unit/general_spec.rb",
61
- "spec/unit/gps_spec.rb",
62
- "spec/unit/iphone_spec.rb",
63
- "spec/unit/middleware_spec.rb",
64
- "spec/unit/position_spec.rb",
65
- "spec/unit/softbank_filter_spec.rb",
66
- "spec/unit/softbank_spec.rb",
67
- "spec/unit/valid_addr_spec.rb",
68
- "test/spec_runner.rb",
69
- "tools/generate_emoji_dic.rb",
70
- "tools/update_speclist.rb",
71
- "vendor/datum_conv/MIT-LICENSE",
72
- "vendor/datum_conv/lib/datum_conv.rb"
73
- ]
74
- s.homepage = %q{http://github.com/take-yu/rack-ketai}
75
- s.require_paths = ["lib"]
76
- s.rubygems_version = %q{1.6.2}
77
- s.summary = %q{A Rack Middleware for Japanese mobile-phones}
78
-
79
- if s.respond_to? :specification_version then
80
- s.specification_version = 3
81
-
82
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
83
- s.add_runtime_dependency(%q<rack>, [">= 1.0.0"])
84
- else
85
- s.add_dependency(%q<rack>, [">= 1.0.0"])
86
- end
87
- else
88
- s.add_dependency(%q<rack>, [">= 1.0.0"])
89
- end
90
- end
91
-
data/spec/spec_helper.rb DELETED
@@ -1,11 +0,0 @@
1
- require 'pp'
2
- require 'cgi'
3
-
4
- [ STDOUT, STDERR ].each { |io| io.sync = true }
5
-
6
- require 'spec/mocks'
7
- require 'rack/mock'
8
-
9
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '../lib')
10
- require 'rack/ketai'
11
-