rack-ketai 0.2.3 → 0.2.4

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.
@@ -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
-