jpmobile 2.0.7 → 2.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -3,9 +3,9 @@ source 'http://rubygems.org'
3
3
  group :development, :test do
4
4
  gem 'mail', '~> 2.3.0'
5
5
  gem 'jeweler'
6
- gem 'rails', '~> 3.1.0'
7
- gem 'rspec'
8
- gem 'rspec-rails'
6
+ gem 'rails', '~> 3.1.4'
7
+ gem 'rspec', '~> 2.8.0'
8
+ gem 'rspec-rails', '~> 2.8.0'
9
9
  gem 'webrat'
10
10
  gem 'geokit'
11
11
  gem 'sqlite3-ruby'
@@ -1,5 +1,5 @@
1
- ---
1
+ ---
2
+ :build:
3
+ :patch: 8
2
4
  :major: 2
3
5
  :minor: 0
4
- :patch: 7
5
- :build:
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{jpmobile}
8
- s.version = "2.0.7"
8
+ s.version = "2.0.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Yoji Shidara", "Shin-ichiro OGAWA"]
@@ -22,14 +22,19 @@ module Jpmobile
22
22
  autoload :Emobile, 'jpmobile/mobile/emobile'
23
23
  autoload :Willcom, 'jpmobile/mobile/willcom'
24
24
  autoload :Ddipocket, 'jpmobile/mobile/ddipocket'
25
+
25
26
  autoload :SmartPhone, 'jpmobile/mobile/smart_phone'
26
27
  autoload :Iphone, 'jpmobile/mobile/iphone'
27
28
  autoload :Android, 'jpmobile/mobile/android'
28
29
  autoload :WindowsPhone, 'jpmobile/mobile/windows_phone'
29
30
 
31
+ autoload :Tablet, 'jpmobile/mobile/tablet'
32
+ autoload :AndroidTablet, 'jpmobile/mobile/android_tablet'
33
+ autoload :Ipad, 'jpmobile/mobile/ipad'
34
+
30
35
  autoload :Display, 'jpmobile/mobile/display'
31
36
 
32
- DEFAULT_CARRIERS = %w(Docomo Au Softbank Vodafone Emobile Willcom Ddipocket Iphone Android WindowsPhone)
37
+ DEFAULT_CARRIERS = %w(Docomo Au Softbank Vodafone Emobile Willcom Ddipocket Ipad AndroidTablet Iphone Android WindowsPhone)
33
38
 
34
39
  def self.carriers
35
40
  @carriers ||= DEFAULT_CARRIERS.dup
@@ -29,16 +29,6 @@ module Jpmobile::Mobile
29
29
  # 端末を識別する文字列があれば返す。
30
30
  def ident_device; nil; end
31
31
 
32
- # 当該キャリアのIPアドレス帯域からのアクセスであれば +true+ を返す。
33
- # そうでなければ +false+ を返す。
34
- # IP空間が定義されていない場合は +nil+ を返す。
35
- def self.valid_ip? remote_addr
36
- @ip_list ||= ip_address_class
37
- return false unless @ip_list
38
-
39
- @ip_list.valid_ip?(remote_addr)
40
- end
41
-
42
32
  def valid_ip?
43
33
  @__valid_ip ||= self.class.valid_ip? @request.ip
44
34
  end
@@ -60,6 +50,11 @@ module Jpmobile::Mobile
60
50
  false
61
51
  end
62
52
 
53
+ # tablet かどうか
54
+ def tablet?
55
+ false
56
+ end
57
+
63
58
  # Jpmobile::Rack::Filter を適用するかどうか
64
59
  def apply_filter?
65
60
  true
@@ -90,6 +85,7 @@ module Jpmobile::Mobile
90
85
  gsub(/Jpmobile::/, '').
91
86
  gsub(/AbstractMobile::/, '').
92
87
  gsub(/Mobile::SmartPhone/, 'smart_phone').
88
+ gsub(/Mobile::Tablet/, 'tablet').
93
89
  gsub(/::/, '_').
94
90
  gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
95
91
  gsub(/([a-z\d])([A-Z])/, '\1_\2').
@@ -97,8 +93,10 @@ module Jpmobile::Mobile
97
93
  klass =~ /abstract/ ? "mobile" : klass
98
94
  end
99
95
 
100
- if @_variants.include?("smart_phone")
101
- @_variants = @_variants.reject{|v| v == "mobile"}.map{|v| v.gsub(/mobile/, "smart_phone")}
96
+ if @_variants.include?('tablet')
97
+ @_variants = @_variants.reject{|v| v == "mobile"}.map{|v| v.gsub(/mobile_/, "tablet_")}
98
+ elsif @_variants.include?("smart_phone")
99
+ @_variants = @_variants.reject{|v| v == "mobile"}.map{|v| v.gsub(/mobile_/, "smart_phone_")}
102
100
  end
103
101
 
104
102
  @_variants || []
@@ -174,10 +172,47 @@ module Jpmobile::Mobile
174
172
  @decorated
175
173
  end
176
174
 
177
- # リクエストがこのクラスに属するか調べる
178
- # メソッド名に関して非常に不安
179
- def self.check_carrier(env)
180
- self::USER_AGENT_REGEXP && env['HTTP_USER_AGENT'] =~ self::USER_AGENT_REGEXP
175
+ class << self
176
+ # 当該キャリアのIPアドレス帯域からのアクセスであれば +true+ を返す。
177
+ # そうでなければ +false+ を返す。
178
+ # IP空間が定義されていない場合は +nil+ を返す。
179
+ def valid_ip? remote_addr
180
+ @ip_list ||= ip_address_class
181
+ return false unless @ip_list
182
+
183
+ @ip_list.valid_ip?(remote_addr)
184
+ end
185
+
186
+ # リクエストがこのクラスに属するか調べる
187
+ # メソッド名に関して非常に不安
188
+ def check_carrier(env)
189
+ user_agent_regexp && user_agent_regexp.match(env['HTTP_USER_AGENT'])
190
+ end
191
+
192
+ def user_agent_regexp
193
+ @_user_agent_regexp ||= self::USER_AGENT_REGEXP
194
+ end
195
+
196
+ def add_user_agent_regexp(regexp)
197
+ @_user_agent_regexp = Regexp.union(user_agent_regexp, regexp)
198
+ end
199
+
200
+ def carrier(env)
201
+ ::Jpmobile::Mobile.carriers.each do |const|
202
+ c = ::Jpmobile::Mobile.const_get(const)
203
+ if c.check_carrier(env)
204
+ res = ::Rack::Request.new(env)
205
+ return c.new(env, res)
206
+ end
207
+ end
208
+
209
+ nil
210
+ end
211
+
212
+ #
213
+ def ip_address_class
214
+ eval("::Jpmobile::Mobile::IpAddresses::#{self.to_s.split(/::/).last}").new rescue nil
215
+ end
181
216
  end
182
217
 
183
218
  #XXX: lib/jpmobile.rbのautoloadで先に各キャリアの定数を定義しているから動くのです
@@ -190,18 +225,6 @@ module Jpmobile::Mobile
190
225
  end
191
226
  end
192
227
 
193
- def self.carrier(env)
194
- ::Jpmobile::Mobile.carriers.each do |const|
195
- c = ::Jpmobile::Mobile.const_get(const)
196
- if c.check_carrier(env)
197
- res = ::Rack::Request.new(env)
198
- return c.new(env, res)
199
- end
200
- end
201
-
202
- nil
203
- end
204
-
205
228
  private
206
229
  # リクエストのパラメータ。
207
230
  def params
@@ -211,10 +234,5 @@ module Jpmobile::Mobile
211
234
  @request.params
212
235
  end
213
236
  end
214
-
215
- #
216
- def self.ip_address_class
217
- eval("::Jpmobile::Mobile::IpAddresses::#{self.to_s.split(/::/).last}").new rescue nil
218
- end
219
237
  end
220
238
  end
@@ -0,0 +1,10 @@
1
+ # -*- coding: utf-8 -*-
2
+ # =Android
3
+
4
+ module Jpmobile::Mobile
5
+ # ==AndroidTablet
6
+ class AndroidTablet < Tablet
7
+ # 対応するUser-Agentの正規表現
8
+ USER_AGENT_REGEXP = Regexp.union(/(?!Android.+Mobile)Android/, /Android.+SC-01C/)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # -*- coding: utf-8 -*-
2
+ # =Android
3
+
4
+ module Jpmobile::Mobile
5
+ # ==iPad
6
+ class Ipad < Tablet
7
+ # 対応するUser-Agentの正規表現
8
+ USER_AGENT_REGEXP = /iPad/
9
+ end
10
+ end
@@ -0,0 +1,16 @@
1
+ # -*- coding: utf-8 -*-
2
+ # =タブレットの親クラス
3
+
4
+ module Jpmobile::Mobile
5
+ class Tablet < SmartPhone
6
+ # smartphone なので true
7
+ def smart_phone?
8
+ true
9
+ end
10
+
11
+ # tablet なので true
12
+ def tablet?
13
+ true
14
+ end
15
+ end
16
+ end
@@ -19,8 +19,11 @@ describe Jpmobile::Rack::MobileCarrier do
19
19
  [ Jpmobile::Mobile::Iphone , 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; ja-jp) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16' ],
20
20
  [ Jpmobile::Mobile::Android , 'Mozilla/5.0 (Linux; U; Android 1.6; ja-jp; SonyEriccsonSO-01B Build/R1EA018) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1' ],
21
21
  [ Jpmobile::Mobile::WindowsPhone , 'Mozilla/4.0 (Compatible; MSIE 6.0; Windows NT 5.1 T-01A_6.5; Windows Phone 6.5)' ],
22
+ [ Jpmobile::Mobile::Ipad , 'Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5'],
23
+ [ Jpmobile::Mobile::AndroidTablet, 'Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-01C Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'],
24
+ [ Jpmobile::Mobile::AndroidTablet, 'Mozilla/5.0 (Linux; U; Android 3.2; ja-jp; Sony Tablet S Build/THMAS11002) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13'],
22
25
  ].each do |carrier, user_agent|
23
- it '#mobile should return #{carrier} when take #{user_agent} as UserAgent' do
26
+ it "#mobile should return #{carrier} when take #{user_agent} as UserAgent" do
24
27
  res = Rack::MockRequest.env_for(
25
28
  'http://jpmobile-rails.org/',
26
29
  'HTTP_USER_AGENT' => user_agent)
@@ -1,7 +1,7 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'rails', '~> 3.1.0'
4
- gem 'mail', '2.3.0'
3
+ gem 'rails', '~> 3.1.4'
4
+ gem 'mail', '~> 2.3.0'
5
5
 
6
6
  # Bundle edge Rails instead:
7
7
  # gem 'rails', :git => 'git://github.com/rails/rails.git'
@@ -28,7 +28,7 @@ gem 'hpricot'
28
28
 
29
29
  # Bundle gems for certain environments:
30
30
  group :development, :test do
31
- gem "rspec", ">= 2.1.0"
32
- gem "rspec-rails", ">= 2.1.0"
31
+ gem "rspec", ">= 2.8.0"
32
+ gem "rspec-rails", ">= 2.8.0"
33
33
  gem 'webrat'
34
34
  end
@@ -13,5 +13,17 @@ class TemplatePathController < ApplicationController
13
13
  def optioned_index
14
14
  render :action => "index"
15
15
  end
16
+
17
+ def full_path_partial
18
+ end
19
+
20
+ def smart_phone_only
21
+ end
22
+
23
+ def with_tblt
24
+ end
25
+
26
+ def with_ipd
27
+ end
16
28
  end
17
29
 
@@ -0,0 +1 @@
1
+ <h1>smart_phone_only.html.erb</h1>
@@ -0,0 +1 @@
1
+ <h1>smart_phone_only_smart_phone.html.erb</h1>
@@ -0,0 +1 @@
1
+ <h1>with_ipd.html.erb</h1>
@@ -0,0 +1 @@
1
+ <h1>with_ipd_tablet_ipad.html.erb</h1>
@@ -0,0 +1 @@
1
+ <h1>with_tblt.html.erb</h1>
@@ -0,0 +1 @@
1
+ <h1>with_tblt_tablet.html.erb</h1>
@@ -169,6 +169,78 @@ describe TemplatePathController, "integrated_views" do
169
169
  end
170
170
  end
171
171
 
172
+ context 'only smart_phone view' do
173
+ context 'iPadからのアクセスの場合' do
174
+ before do
175
+ @user_agent = 'Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5'
176
+ end
177
+ it 'smart_phone_only.html.erbが使用されること' do
178
+ get '/template_path/smart_phone_only', {}, {'HTTP_USER_AGENT' => @user_agent}
179
+
180
+ response.should have_tag('h1', :content => 'smart_phone_only_smart_phone.html.erb')
181
+ end
182
+ end
183
+
184
+ context 'Android Tabletからのアクセスの場合' do
185
+ before do
186
+ @user_agent = 'Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-01C Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'
187
+ end
188
+ it 'smart_phone_only.html.erbが使用されること' do
189
+ get '/template_path/smart_phone_only', {}, {'HTTP_USER_AGENT' => @user_agent}
190
+
191
+ response.should have_tag('h1', :content => 'smart_phone_only_smart_phone.html.erb')
192
+ end
193
+ end
194
+ end
195
+
196
+ context 'with_tblt view' do
197
+ context 'iPadからのアクセスの場合' do
198
+ before do
199
+ @user_agent = 'Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5'
200
+ end
201
+ it 'with_tblt_tablet.html.erbが使用されること' do
202
+ get '/template_path/with_tblt', {}, {'HTTP_USER_AGENT' => @user_agent}
203
+
204
+ response.should have_tag('h1', :content => 'with_tblt_tablet.html.erb')
205
+ end
206
+ end
207
+
208
+ context 'Android Tabletからのアクセスの場合' do
209
+ before do
210
+ @user_agent = 'Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-01C Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'
211
+ end
212
+ it 'with_tblt_tablet.html.erbが使用されること' do
213
+ get '/template_path/with_tblt', {}, {'HTTP_USER_AGENT' => @user_agent}
214
+
215
+ response.should have_tag('h1', :content => 'with_tblt_tablet.html.erb')
216
+ end
217
+ end
218
+ end
219
+
220
+ context 'with_ipd view' do
221
+ context 'iPadからのアクセスの場合' do
222
+ before do
223
+ @user_agent = 'Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5'
224
+ end
225
+ it 'with_ipd_tablet_ipad.html.erbが使用されること' do
226
+ get '/template_path/with_ipd', {}, {'HTTP_USER_AGENT' => @user_agent}
227
+
228
+ response.should have_tag('h1', :content => 'with_ipd_tablet_ipad.html.erb')
229
+ end
230
+ end
231
+
232
+ context 'Android Tabletからのアクセスの場合' do
233
+ before do
234
+ @user_agent = 'Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-01C Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'
235
+ end
236
+ it 'with_ipd.html.erbが使用されること' do
237
+ get '/template_path/with_ipd', {}, {'HTTP_USER_AGENT' => @user_agent}
238
+
239
+ response.should have_tag('h1', :content => 'with_ipd.html.erb')
240
+ end
241
+ end
242
+ end
243
+
172
244
  context "partial" do
173
245
  context "PCからのアクセスの場合" do
174
246
  before do
metadata CHANGED
@@ -1,223 +1,311 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jpmobile
3
- version: !ruby/object:Gem::Version
4
- version: 2.0.7
3
+ version: !ruby/object:Gem::Version
4
+ hash: 31
5
5
  prerelease:
6
+ segments:
7
+ - 2
8
+ - 0
9
+ - 8
10
+ version: 2.0.8
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Yoji Shidara
9
14
  - Shin-ichiro OGAWA
10
15
  autorequire:
11
16
  bindir: bin
12
17
  cert_chain: []
13
- date: 2012-01-25 00:00:00.000000000 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: mail
17
- requirement: &16558240 !ruby/object:Gem::Requirement
18
+
19
+ date: 2012-05-16 00:00:00 Z
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ requirement: &id001 !ruby/object:Gem::Requirement
18
23
  none: false
19
- requirements:
24
+ requirements:
20
25
  - - ~>
21
- - !ruby/object:Gem::Version
26
+ - !ruby/object:Gem::Version
27
+ hash: 3
28
+ segments:
29
+ - 2
30
+ - 3
31
+ - 0
22
32
  version: 2.3.0
33
+ prerelease: false
34
+ name: mail
23
35
  type: :development
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
24
47
  prerelease: false
25
- version_requirements: *16558240
26
- - !ruby/object:Gem::Dependency
27
48
  name: jeweler
28
- requirement: &16555980 !ruby/object:Gem::Requirement
29
- none: false
30
- requirements:
31
- - - ! '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
49
  type: :development
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ~>
56
+ - !ruby/object:Gem::Version
57
+ hash: 11
58
+ segments:
59
+ - 3
60
+ - 1
61
+ - 4
62
+ version: 3.1.4
35
63
  prerelease: false
36
- version_requirements: *16555980
37
- - !ruby/object:Gem::Dependency
38
64
  name: rails
39
- requirement: &16627280 !ruby/object:Gem::Requirement
65
+ type: :development
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ requirement: &id004 !ruby/object:Gem::Requirement
40
69
  none: false
41
- requirements:
70
+ requirements:
42
71
  - - ~>
43
- - !ruby/object:Gem::Version
44
- version: 3.1.0
45
- type: :development
72
+ - !ruby/object:Gem::Version
73
+ hash: 47
74
+ segments:
75
+ - 2
76
+ - 8
77
+ - 0
78
+ version: 2.8.0
46
79
  prerelease: false
47
- version_requirements: *16627280
48
- - !ruby/object:Gem::Dependency
49
80
  name: rspec
50
- requirement: &16625740 !ruby/object:Gem::Requirement
51
- none: false
52
- requirements:
53
- - - ! '>='
54
- - !ruby/object:Gem::Version
55
- version: '0'
56
81
  type: :development
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ hash: 47
90
+ segments:
91
+ - 2
92
+ - 8
93
+ - 0
94
+ version: 2.8.0
57
95
  prerelease: false
58
- version_requirements: *16625740
59
- - !ruby/object:Gem::Dependency
60
96
  name: rspec-rails
61
- requirement: &16623860 !ruby/object:Gem::Requirement
62
- none: false
63
- requirements:
64
- - - ! '>='
65
- - !ruby/object:Gem::Version
66
- version: '0'
67
97
  type: :development
98
+ version_requirements: *id005
99
+ - !ruby/object:Gem::Dependency
100
+ requirement: &id006 !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ hash: 3
106
+ segments:
107
+ - 0
108
+ version: "0"
68
109
  prerelease: false
69
- version_requirements: *16623860
70
- - !ruby/object:Gem::Dependency
71
110
  name: webrat
72
- requirement: &16622600 !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
111
  type: :development
112
+ version_requirements: *id006
113
+ - !ruby/object:Gem::Dependency
114
+ requirement: &id007 !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ hash: 3
120
+ segments:
121
+ - 0
122
+ version: "0"
79
123
  prerelease: false
80
- version_requirements: *16622600
81
- - !ruby/object:Gem::Dependency
82
124
  name: geokit
83
- requirement: &16621500 !ruby/object:Gem::Requirement
84
- none: false
85
- requirements:
86
- - - ! '>='
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
125
  type: :development
126
+ version_requirements: *id007
127
+ - !ruby/object:Gem::Dependency
128
+ requirement: &id008 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ hash: 3
134
+ segments:
135
+ - 0
136
+ version: "0"
90
137
  prerelease: false
91
- version_requirements: *16621500
92
- - !ruby/object:Gem::Dependency
93
138
  name: sqlite3-ruby
94
- requirement: &16619900 !ruby/object:Gem::Requirement
95
- none: false
96
- requirements:
97
- - - ! '>='
98
- - !ruby/object:Gem::Version
99
- version: '0'
100
139
  type: :development
140
+ version_requirements: *id008
141
+ - !ruby/object:Gem::Dependency
142
+ requirement: &id009 !ruby/object:Gem::Requirement
143
+ none: false
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ hash: 3
148
+ segments:
149
+ - 0
150
+ version: "0"
101
151
  prerelease: false
102
- version_requirements: *16619900
103
- - !ruby/object:Gem::Dependency
104
152
  name: hpricot
105
- requirement: &16748440 !ruby/object:Gem::Requirement
106
- none: false
107
- requirements:
108
- - - ! '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
153
  type: :development
112
- prerelease: false
113
- version_requirements: *16748440
114
- - !ruby/object:Gem::Dependency
115
- name: rails
116
- requirement: &16745960 !ruby/object:Gem::Requirement
154
+ version_requirements: *id009
155
+ - !ruby/object:Gem::Dependency
156
+ requirement: &id010 !ruby/object:Gem::Requirement
117
157
  none: false
118
- requirements:
119
- - - ! '>='
120
- - !ruby/object:Gem::Version
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ hash: 3
162
+ segments:
163
+ - 3
164
+ - 1
165
+ - 0
121
166
  version: 3.1.0
122
- type: :development
123
167
  prerelease: false
124
- version_requirements: *16745960
125
- - !ruby/object:Gem::Dependency
126
- name: jeweler
127
- requirement: &16745000 !ruby/object:Gem::Requirement
168
+ name: rails
169
+ type: :development
170
+ version_requirements: *id010
171
+ - !ruby/object:Gem::Dependency
172
+ requirement: &id011 !ruby/object:Gem::Requirement
128
173
  none: false
129
- requirements:
130
- - - ! '>='
131
- - !ruby/object:Gem::Version
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ hash: 1
178
+ segments:
179
+ - 1
180
+ - 5
181
+ - 1
132
182
  version: 1.5.1
183
+ prerelease: false
184
+ name: jeweler
133
185
  type: :development
186
+ version_requirements: *id011
187
+ - !ruby/object:Gem::Dependency
188
+ requirement: &id012 !ruby/object:Gem::Requirement
189
+ none: false
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ hash: 23
194
+ segments:
195
+ - 2
196
+ - 6
197
+ - 0
198
+ version: 2.6.0
134
199
  prerelease: false
135
- version_requirements: *16745000
136
- - !ruby/object:Gem::Dependency
137
200
  name: rspec
138
- requirement: &16744280 !ruby/object:Gem::Requirement
201
+ type: :development
202
+ version_requirements: *id012
203
+ - !ruby/object:Gem::Dependency
204
+ requirement: &id013 !ruby/object:Gem::Requirement
139
205
  none: false
140
- requirements:
141
- - - ! '>='
142
- - !ruby/object:Gem::Version
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ hash: 23
210
+ segments:
211
+ - 2
212
+ - 6
213
+ - 0
143
214
  version: 2.6.0
144
- type: :development
145
215
  prerelease: false
146
- version_requirements: *16744280
147
- - !ruby/object:Gem::Dependency
148
216
  name: rspec-rails
149
- requirement: &16743540 !ruby/object:Gem::Requirement
150
- none: false
151
- requirements:
152
- - - ! '>='
153
- - !ruby/object:Gem::Version
154
- version: 2.6.0
155
217
  type: :development
156
- prerelease: false
157
- version_requirements: *16743540
158
- - !ruby/object:Gem::Dependency
159
- name: webrat
160
- requirement: &16742780 !ruby/object:Gem::Requirement
218
+ version_requirements: *id013
219
+ - !ruby/object:Gem::Dependency
220
+ requirement: &id014 !ruby/object:Gem::Requirement
161
221
  none: false
162
- requirements:
163
- - - ! '>='
164
- - !ruby/object:Gem::Version
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ hash: 7
226
+ segments:
227
+ - 0
228
+ - 7
229
+ - 2
165
230
  version: 0.7.2
166
- type: :development
167
231
  prerelease: false
168
- version_requirements: *16742780
169
- - !ruby/object:Gem::Dependency
170
- name: geokit
171
- requirement: &16742080 !ruby/object:Gem::Requirement
232
+ name: webrat
233
+ type: :development
234
+ version_requirements: *id014
235
+ - !ruby/object:Gem::Dependency
236
+ requirement: &id015 !ruby/object:Gem::Requirement
172
237
  none: false
173
- requirements:
174
- - - ! '>='
175
- - !ruby/object:Gem::Version
238
+ requirements:
239
+ - - ">="
240
+ - !ruby/object:Gem::Version
241
+ hash: 3
242
+ segments:
243
+ - 1
244
+ - 5
245
+ - 0
176
246
  version: 1.5.0
177
- type: :development
178
247
  prerelease: false
179
- version_requirements: *16742080
180
- - !ruby/object:Gem::Dependency
181
- name: sqlite3-ruby
182
- requirement: &16769020 !ruby/object:Gem::Requirement
248
+ name: geokit
249
+ type: :development
250
+ version_requirements: *id015
251
+ - !ruby/object:Gem::Dependency
252
+ requirement: &id016 !ruby/object:Gem::Requirement
183
253
  none: false
184
- requirements:
185
- - - ! '>='
186
- - !ruby/object:Gem::Version
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ hash: 31
258
+ segments:
259
+ - 1
260
+ - 3
261
+ - 2
187
262
  version: 1.3.2
188
- type: :development
189
263
  prerelease: false
190
- version_requirements: *16769020
191
- - !ruby/object:Gem::Dependency
192
- name: hpricot
193
- requirement: &16768220 !ruby/object:Gem::Requirement
264
+ name: sqlite3-ruby
265
+ type: :development
266
+ version_requirements: *id016
267
+ - !ruby/object:Gem::Dependency
268
+ requirement: &id017 !ruby/object:Gem::Requirement
194
269
  none: false
195
- requirements:
196
- - - ! '>='
197
- - !ruby/object:Gem::Version
270
+ requirements:
271
+ - - ">="
272
+ - !ruby/object:Gem::Version
273
+ hash: 57
274
+ segments:
275
+ - 0
276
+ - 8
277
+ - 3
198
278
  version: 0.8.3
199
- type: :development
200
279
  prerelease: false
201
- version_requirements: *16768220
202
- - !ruby/object:Gem::Dependency
203
- name: git
204
- requirement: &16767180 !ruby/object:Gem::Requirement
280
+ name: hpricot
281
+ type: :development
282
+ version_requirements: *id017
283
+ - !ruby/object:Gem::Dependency
284
+ requirement: &id018 !ruby/object:Gem::Requirement
205
285
  none: false
206
- requirements:
207
- - - ! '>='
208
- - !ruby/object:Gem::Version
286
+ requirements:
287
+ - - ">="
288
+ - !ruby/object:Gem::Version
289
+ hash: 21
290
+ segments:
291
+ - 1
292
+ - 2
293
+ - 5
209
294
  version: 1.2.5
210
- type: :development
211
295
  prerelease: false
212
- version_requirements: *16767180
296
+ name: git
297
+ type: :development
298
+ version_requirements: *id018
213
299
  description: A Rails plugin for Japanese mobile-phones
214
300
  email: dara@shidara.net
215
301
  executables: []
302
+
216
303
  extensions: []
217
- extra_rdoc_files:
304
+
305
+ extra_rdoc_files:
218
306
  - README
219
307
  - README.rdoc
220
- files:
308
+ files:
221
309
  - .rspec
222
310
  - CHANGELOG
223
311
  - Gemfile
@@ -251,13 +339,16 @@ files:
251
339
  - lib/jpmobile/mailer.rb
252
340
  - lib/jpmobile/mobile/abstract_mobile.rb
253
341
  - lib/jpmobile/mobile/android.rb
342
+ - lib/jpmobile/mobile/android_tablet.rb
254
343
  - lib/jpmobile/mobile/au.rb
255
344
  - lib/jpmobile/mobile/ddipocket.rb
256
345
  - lib/jpmobile/mobile/docomo.rb
257
346
  - lib/jpmobile/mobile/emobile.rb
347
+ - lib/jpmobile/mobile/ipad.rb
258
348
  - lib/jpmobile/mobile/iphone.rb
259
349
  - lib/jpmobile/mobile/smart_phone.rb
260
350
  - lib/jpmobile/mobile/softbank.rb
351
+ - lib/jpmobile/mobile/tablet.rb
261
352
  - lib/jpmobile/mobile/vodafone.rb
262
353
  - lib/jpmobile/mobile/willcom.rb
263
354
  - lib/jpmobile/mobile/windows_phone.rb
@@ -384,6 +475,12 @@ files:
384
475
  - test/rails/overrides/app/views/template_path/partial.html.erb
385
476
  - test/rails/overrides/app/views/template_path/show_mobile.html.erb
386
477
  - test/rails/overrides/app/views/template_path/show_mobile_docomo.html.erb
478
+ - test/rails/overrides/app/views/template_path/smart_phone_only.html.erb
479
+ - test/rails/overrides/app/views/template_path/smart_phone_only_smart_phone.html.erb
480
+ - test/rails/overrides/app/views/template_path/with_ipd.html.erb
481
+ - test/rails/overrides/app/views/template_path/with_ipd_tablet_ipad.html.erb
482
+ - test/rails/overrides/app/views/template_path/with_tblt.html.erb
483
+ - test/rails/overrides/app/views/template_path/with_tblt_tablet.html.erb
387
484
  - test/rails/overrides/autotest/discover.rb
388
485
  - test/rails/overrides/config/initializers/jpmobile_generator.rb
389
486
  - test/rails/overrides/config/routes.rb
@@ -434,26 +531,36 @@ files:
434
531
  - tools/list_gps_unsupported_au.rb
435
532
  homepage: http://jpmobile-rails.org
436
533
  licenses: []
534
+
437
535
  post_install_message:
438
536
  rdoc_options: []
439
- require_paths:
537
+
538
+ require_paths:
440
539
  - lib
441
- required_ruby_version: !ruby/object:Gem::Requirement
540
+ required_ruby_version: !ruby/object:Gem::Requirement
442
541
  none: false
443
- requirements:
444
- - - ! '>='
445
- - !ruby/object:Gem::Version
446
- version: '0'
447
- required_rubygems_version: !ruby/object:Gem::Requirement
542
+ requirements:
543
+ - - ">="
544
+ - !ruby/object:Gem::Version
545
+ hash: 3
546
+ segments:
547
+ - 0
548
+ version: "0"
549
+ required_rubygems_version: !ruby/object:Gem::Requirement
448
550
  none: false
449
- requirements:
450
- - - ! '>='
451
- - !ruby/object:Gem::Version
452
- version: '0'
551
+ requirements:
552
+ - - ">="
553
+ - !ruby/object:Gem::Version
554
+ hash: 3
555
+ segments:
556
+ - 0
557
+ version: "0"
453
558
  requirements: []
559
+
454
560
  rubyforge_project:
455
- rubygems_version: 1.8.15
561
+ rubygems_version: 1.8.24
456
562
  signing_key:
457
563
  specification_version: 3
458
564
  summary: A Rails plugin for Japanese mobile-phones
459
565
  test_files: []
566
+