jpmobile 1.0.8 → 1.0.9

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.
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'rake/clean'
4
4
  require 'rake/testtask'
5
- require 'rake/rdoctask'
5
+ require 'rdoc/task'
6
6
  require 'fileutils'
7
7
  require 'pathname'
8
8
  require 'git'
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 1
3
3
  :minor: 0
4
- :patch: 8
4
+ :patch: 9
5
5
  :build: !!null
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{jpmobile}
8
- s.version = "1.0.0.pre"
8
+ s.version = "1.0.9"
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
@@ -67,7 +67,16 @@ module Mail
67
67
  self.body.charset = @charset
68
68
  self.body.mobile = @mobile
69
69
  self.header['Content-Transfer-Encoding'] = @mobile.content_transfer_encoding(self.header)
70
- self.header['Content-ID'] = nil if @mobile.decorated? and !self.content_type.match(/image\//)
70
+ if @mobile.decorated?
71
+ unless self.content_type.match(/image\//)
72
+ self.header['Content-ID'] = nil
73
+ end
74
+
75
+ unless self.header['Content-Type'].sub_type == 'mixed'
76
+ self.header['Date'] = nil
77
+ self.header['Mime-Version'] = nil
78
+ end
79
+ end
71
80
 
72
81
  buffer = header.encoded
73
82
  buffer << "\r\n"
@@ -173,7 +182,9 @@ module Mail
173
182
  attached_files = []
174
183
  attachments.each do |p|
175
184
  if p.content_type.match(/^image\//) and p.content_disposition.match(/^inline/)
176
- p.header['Content-Disposition'] = nil
185
+ if p.header['Content-Type'].parameters['filename']
186
+ p.header['Content-Type'].parameters['name'] = p.header['Content-Type'].parameters['filename'].to_s
187
+ end
177
188
  inline_images << p
178
189
  elsif p.content_disposition
179
190
  attached_files << p
@@ -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)
@@ -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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jpmobile
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-11-17 00:00:00.000000000Z
13
+ date: 2012-05-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: jeweler
17
- requirement: &26422540 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,15 @@ dependencies:
22
22
  version: '0'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *26422540
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ! '>='
29
+ - !ruby/object:Gem::Version
30
+ version: '0'
26
31
  - !ruby/object:Gem::Dependency
27
32
  name: rails
28
- requirement: &26422000 !ruby/object:Gem::Requirement
33
+ requirement: !ruby/object:Gem::Requirement
29
34
  none: false
30
35
  requirements:
31
36
  - - ~>
@@ -33,10 +38,15 @@ dependencies:
33
38
  version: 3.0.10
34
39
  type: :development
35
40
  prerelease: false
36
- version_requirements: *26422000
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: 3.0.10
37
47
  - !ruby/object:Gem::Dependency
38
48
  name: rspec
39
- requirement: &26421420 !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
40
50
  none: false
41
51
  requirements:
42
52
  - - ~>
@@ -44,10 +54,15 @@ dependencies:
44
54
  version: 2.6.0
45
55
  type: :development
46
56
  prerelease: false
47
- version_requirements: *26421420
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 2.6.0
48
63
  - !ruby/object:Gem::Dependency
49
64
  name: rspec-rails
50
- requirement: &26420920 !ruby/object:Gem::Requirement
65
+ requirement: !ruby/object:Gem::Requirement
51
66
  none: false
52
67
  requirements:
53
68
  - - ~>
@@ -55,10 +70,15 @@ dependencies:
55
70
  version: 2.6.0
56
71
  type: :development
57
72
  prerelease: false
58
- version_requirements: *26420920
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: 2.6.0
59
79
  - !ruby/object:Gem::Dependency
60
80
  name: webrat
61
- requirement: &26420440 !ruby/object:Gem::Requirement
81
+ requirement: !ruby/object:Gem::Requirement
62
82
  none: false
63
83
  requirements:
64
84
  - - ! '>='
@@ -66,10 +86,15 @@ dependencies:
66
86
  version: '0'
67
87
  type: :development
68
88
  prerelease: false
69
- version_requirements: *26420440
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
70
95
  - !ruby/object:Gem::Dependency
71
96
  name: geokit
72
- requirement: &26419960 !ruby/object:Gem::Requirement
97
+ requirement: !ruby/object:Gem::Requirement
73
98
  none: false
74
99
  requirements:
75
100
  - - ! '>='
@@ -77,10 +102,15 @@ dependencies:
77
102
  version: '0'
78
103
  type: :development
79
104
  prerelease: false
80
- version_requirements: *26419960
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
81
111
  - !ruby/object:Gem::Dependency
82
112
  name: sqlite3-ruby
83
- requirement: &26415820 !ruby/object:Gem::Requirement
113
+ requirement: !ruby/object:Gem::Requirement
84
114
  none: false
85
115
  requirements:
86
116
  - - ! '>='
@@ -88,10 +118,15 @@ dependencies:
88
118
  version: '0'
89
119
  type: :development
90
120
  prerelease: false
91
- version_requirements: *26415820
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
92
127
  - !ruby/object:Gem::Dependency
93
128
  name: hpricot
94
- requirement: &26415280 !ruby/object:Gem::Requirement
129
+ requirement: !ruby/object:Gem::Requirement
95
130
  none: false
96
131
  requirements:
97
132
  - - ! '>='
@@ -99,10 +134,15 @@ dependencies:
99
134
  version: '0'
100
135
  type: :development
101
136
  prerelease: false
102
- version_requirements: *26415280
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
103
143
  - !ruby/object:Gem::Dependency
104
144
  name: jeweler
105
- requirement: &26414720 !ruby/object:Gem::Requirement
145
+ requirement: !ruby/object:Gem::Requirement
106
146
  none: false
107
147
  requirements:
108
148
  - - ! '>='
@@ -110,10 +150,15 @@ dependencies:
110
150
  version: 1.5.1
111
151
  type: :development
112
152
  prerelease: false
113
- version_requirements: *26414720
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ! '>='
157
+ - !ruby/object:Gem::Version
158
+ version: 1.5.1
114
159
  - !ruby/object:Gem::Dependency
115
160
  name: rspec
116
- requirement: &26414220 !ruby/object:Gem::Requirement
161
+ requirement: !ruby/object:Gem::Requirement
117
162
  none: false
118
163
  requirements:
119
164
  - - ! '>='
@@ -121,10 +166,15 @@ dependencies:
121
166
  version: 2.3.0
122
167
  type: :development
123
168
  prerelease: false
124
- version_requirements: *26414220
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: 2.3.0
125
175
  - !ruby/object:Gem::Dependency
126
176
  name: rspec-rails
127
- requirement: &26413720 !ruby/object:Gem::Requirement
177
+ requirement: !ruby/object:Gem::Requirement
128
178
  none: false
129
179
  requirements:
130
180
  - - ! '>='
@@ -132,10 +182,15 @@ dependencies:
132
182
  version: 2.3.0
133
183
  type: :development
134
184
  prerelease: false
135
- version_requirements: *26413720
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ! '>='
189
+ - !ruby/object:Gem::Version
190
+ version: 2.3.0
136
191
  - !ruby/object:Gem::Dependency
137
192
  name: webrat
138
- requirement: &26413240 !ruby/object:Gem::Requirement
193
+ requirement: !ruby/object:Gem::Requirement
139
194
  none: false
140
195
  requirements:
141
196
  - - ! '>='
@@ -143,10 +198,15 @@ dependencies:
143
198
  version: 0.7.2
144
199
  type: :development
145
200
  prerelease: false
146
- version_requirements: *26413240
201
+ version_requirements: !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ! '>='
205
+ - !ruby/object:Gem::Version
206
+ version: 0.7.2
147
207
  - !ruby/object:Gem::Dependency
148
208
  name: geokit
149
- requirement: &26412720 !ruby/object:Gem::Requirement
209
+ requirement: !ruby/object:Gem::Requirement
150
210
  none: false
151
211
  requirements:
152
212
  - - ! '>='
@@ -154,10 +214,15 @@ dependencies:
154
214
  version: 1.5.0
155
215
  type: :development
156
216
  prerelease: false
157
- version_requirements: *26412720
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ none: false
219
+ requirements:
220
+ - - ! '>='
221
+ - !ruby/object:Gem::Version
222
+ version: 1.5.0
158
223
  - !ruby/object:Gem::Dependency
159
224
  name: sqlite3-ruby
160
- requirement: &26412240 !ruby/object:Gem::Requirement
225
+ requirement: !ruby/object:Gem::Requirement
161
226
  none: false
162
227
  requirements:
163
228
  - - ! '>='
@@ -165,10 +230,15 @@ dependencies:
165
230
  version: 1.3.2
166
231
  type: :development
167
232
  prerelease: false
168
- version_requirements: *26412240
233
+ version_requirements: !ruby/object:Gem::Requirement
234
+ none: false
235
+ requirements:
236
+ - - ! '>='
237
+ - !ruby/object:Gem::Version
238
+ version: 1.3.2
169
239
  - !ruby/object:Gem::Dependency
170
240
  name: hpricot
171
- requirement: &26411720 !ruby/object:Gem::Requirement
241
+ requirement: !ruby/object:Gem::Requirement
172
242
  none: false
173
243
  requirements:
174
244
  - - ! '>='
@@ -176,10 +246,15 @@ dependencies:
176
246
  version: 0.8.3
177
247
  type: :development
178
248
  prerelease: false
179
- version_requirements: *26411720
249
+ version_requirements: !ruby/object:Gem::Requirement
250
+ none: false
251
+ requirements:
252
+ - - ! '>='
253
+ - !ruby/object:Gem::Version
254
+ version: 0.8.3
180
255
  - !ruby/object:Gem::Dependency
181
256
  name: git
182
- requirement: &26411240 !ruby/object:Gem::Requirement
257
+ requirement: !ruby/object:Gem::Requirement
183
258
  none: false
184
259
  requirements:
185
260
  - - ! '>='
@@ -187,10 +262,15 @@ dependencies:
187
262
  version: 1.2.5
188
263
  type: :development
189
264
  prerelease: false
190
- version_requirements: *26411240
265
+ version_requirements: !ruby/object:Gem::Requirement
266
+ none: false
267
+ requirements:
268
+ - - ! '>='
269
+ - !ruby/object:Gem::Version
270
+ version: 1.2.5
191
271
  - !ruby/object:Gem::Dependency
192
272
  name: rails
193
- requirement: &26410740 !ruby/object:Gem::Requirement
273
+ requirement: !ruby/object:Gem::Requirement
194
274
  none: false
195
275
  requirements:
196
276
  - - ! '>='
@@ -198,7 +278,12 @@ dependencies:
198
278
  version: 3.0.3
199
279
  type: :development
200
280
  prerelease: false
201
- version_requirements: *26410740
281
+ version_requirements: !ruby/object:Gem::Requirement
282
+ none: false
283
+ requirements:
284
+ - - ! '>='
285
+ - !ruby/object:Gem::Version
286
+ version: 3.0.3
202
287
  description: A Rails plugin for Japanese mobile-phones
203
288
  email: dara@shidara.net
204
289
  executables: []
@@ -240,13 +325,16 @@ files:
240
325
  - lib/jpmobile/mailer.rb
241
326
  - lib/jpmobile/mobile/abstract_mobile.rb
242
327
  - lib/jpmobile/mobile/android.rb
328
+ - lib/jpmobile/mobile/android_tablet.rb
243
329
  - lib/jpmobile/mobile/au.rb
244
330
  - lib/jpmobile/mobile/ddipocket.rb
245
331
  - lib/jpmobile/mobile/docomo.rb
246
332
  - lib/jpmobile/mobile/emobile.rb
333
+ - lib/jpmobile/mobile/ipad.rb
247
334
  - lib/jpmobile/mobile/iphone.rb
248
335
  - lib/jpmobile/mobile/smart_phone.rb
249
336
  - lib/jpmobile/mobile/softbank.rb
337
+ - lib/jpmobile/mobile/tablet.rb
250
338
  - lib/jpmobile/mobile/vodafone.rb
251
339
  - lib/jpmobile/mobile/willcom.rb
252
340
  - lib/jpmobile/mobile/windows_phone.rb
@@ -371,6 +459,12 @@ files:
371
459
  - test/rails/overrides/app/views/template_path/partial.html.erb
372
460
  - test/rails/overrides/app/views/template_path/show_mobile.html.erb
373
461
  - test/rails/overrides/app/views/template_path/show_mobile_docomo.html.erb
462
+ - test/rails/overrides/app/views/template_path/smart_phone_only.html.erb
463
+ - test/rails/overrides/app/views/template_path/smart_phone_only_smart_phone.html.erb
464
+ - test/rails/overrides/app/views/template_path/with_ipd.html.erb
465
+ - test/rails/overrides/app/views/template_path/with_ipd_tablet_ipad.html.erb
466
+ - test/rails/overrides/app/views/template_path/with_tblt.html.erb
467
+ - test/rails/overrides/app/views/template_path/with_tblt_tablet.html.erb
374
468
  - test/rails/overrides/autotest/discover.rb
375
469
  - test/rails/overrides/config/initializers/jpmobile_generator.rb
376
470
  - test/rails/overrides/config/routes.rb
@@ -431,6 +525,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
431
525
  - - ! '>='
432
526
  - !ruby/object:Gem::Version
433
527
  version: '0'
528
+ segments:
529
+ - 0
530
+ hash: 257980358287254125
434
531
  required_rubygems_version: !ruby/object:Gem::Requirement
435
532
  none: false
436
533
  requirements:
@@ -439,7 +536,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
439
536
  version: '0'
440
537
  requirements: []
441
538
  rubyforge_project:
442
- rubygems_version: 1.8.6
539
+ rubygems_version: 1.8.24
443
540
  signing_key:
444
541
  specification_version: 3
445
542
  summary: A Rails plugin for Japanese mobile-phones