jpmobile 6.1.0 → 6.1.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6bab78dead8150c7f549c51a24def0b6d7542773124441f604f44f26c3149471
4
- data.tar.gz: d4dfbd95df916aad34e7aef2d2cb49ac2e5e6255252119532f423633b4721ebd
3
+ metadata.gz: 5d4fa2229a3c13898fc8b6606af673742dab9805d73e18805060a6eb107948a7
4
+ data.tar.gz: '0518495a8dc82eb71a58aa6623aeb1255920bcc602f0434b0a978f183c43f3ef'
5
5
  SHA512:
6
- metadata.gz: 8ba8b8c5b09d7fa8ca65841cdd1bf30e495e28acb1b1b4a7fb17efcea063fee036828ce5d2508827adbe0dce760d4ecb74d9a5462389f93ae3e9f058ebf68b24
7
- data.tar.gz: f9438f49c04aae66db70c2839f91ab0fe307fef8e17b74259ae74cfb01f7c5b62fa6819485ea150b96d80d2fd93ff8c998a7f99d1d64628ed34093f66be8c3b7
6
+ metadata.gz: 0f7102eefe118ccfb639a7f914b2fae3b904450b5a19e33ad3113b86b0fbeaf0be5932cffaae7f5b99d9ab1cdf07175ecc573043ebcf365f68ef97050e765a16
7
+ data.tar.gz: 13803d46396d2a0aec370b888566168b6399ab0ffc667e6600ce127bd1e9a7b1c6d563f42395c599ec891714d9dbb199ca860463b65c2145339f5c39ebdb635a
@@ -122,29 +122,6 @@ Metrics/BlockLength:
122
122
  - "config/routes/**/*.rb"
123
123
  - "*.gemspec"
124
124
 
125
- # 6 は強すぎるので緩める
126
- Metrics/CyclomaticComplexity:
127
- Max: 10
128
-
129
- # * 警告 120文字
130
- # * 禁止 160文字
131
- # のイメージ
132
- Layout/LineLength:
133
- Max: 160
134
- Exclude:
135
- - "db/migrate/*.rb"
136
-
137
- # 20 行超えるのは migration ファイル以外滅多に無い
138
- Metrics/MethodLength:
139
- Max: 20
140
- Exclude:
141
- - "db/migrate/*.rb"
142
-
143
- # 分岐の数。ガード句を多用しているとデフォルト 7 だと厳しい
144
- Metrics/PerceivedComplexity:
145
- Max: 8
146
-
147
-
148
125
  #################### Naming ################################
149
126
 
150
127
  # has_ から始まるメソッドは許可する
@@ -202,10 +179,6 @@ Style/BlockDelimiters:
202
179
  Exclude:
203
180
  - "spec/**/*_spec.rb"
204
181
 
205
- # option 等、明示的にハッシュにした方が分かりやすい場合もある
206
- Style/BracesAroundHashParameters:
207
- Enabled: false
208
-
209
182
  # scope が違うとか親 module の存在確認が必要とかデメリットはあるが、
210
183
  # namespace 付きのクラスはかなり頻繁に作るので簡単に書きたい。
211
184
  Style/ClassAndModuleChildren:
@@ -3,7 +3,7 @@ require: rubocop-performance
3
3
  inherit_from: './.onkcop-config.yml'
4
4
 
5
5
  AllCops:
6
- TargetRubyVersion: 2.7
6
+ TargetRubyVersion: 2.5
7
7
  Exclude:
8
8
  - 'tmp/**/*'
9
9
  - 'bin/*'
@@ -64,16 +64,20 @@ Metrics/AbcSize:
64
64
  - 'lib/jpmobile/fallback_view_selector.rb'
65
65
  - 'lib/jpmobile/resolver.rb'
66
66
  - 'lib/jpmobile/rack/filter.rb'
67
+ - 'lib/jpmobile/trans_sid.rb'
67
68
 
68
69
  Metrics/CyclomaticComplexity:
70
+ Max: 10
69
71
  Exclude:
70
72
  - 'lib/jpmobile/emoticon.rb'
71
73
  - 'lib/jpmobile/helpers.rb'
72
74
  - 'lib/jpmobile/mail.rb'
73
75
  - 'lib/jpmobile/mobile/au.rb'
74
76
  - 'lib/jpmobile/mobile/docomo.rb'
77
+ - 'lib/jpmobile/mobile/abstract_mobile.rb'
75
78
 
76
79
  Metrics/PerceivedComplexity:
80
+ Max: 8
77
81
  Exclude:
78
82
  - 'lib/jpmobile/emoticon.rb'
79
83
  - 'lib/jpmobile/helpers.rb'
@@ -81,8 +85,12 @@ Metrics/PerceivedComplexity:
81
85
  - 'lib/jpmobile/mobile/au.rb'
82
86
  - 'lib/jpmobile/mobile/docomo.rb'
83
87
  - 'lib/jpmobile/trans_sid.rb'
88
+ - 'lib/jpmobile/filter.rb'
89
+ - 'lib/jpmobile/rack/filter.rb'
90
+ - 'lib/jpmobile/mobile/abstract_mobile.rb'
84
91
 
85
92
  Layout/LineLength:
93
+ Max: 160
86
94
  Exclude:
87
95
  - '**/*_spec.rb'
88
96
  - 'lib/jpmobile/emoticon/z_combine.rb'
@@ -115,6 +123,7 @@ Metrics/ClassLength:
115
123
  - 'lib/jpmobile/mobile/docomo.rb'
116
124
 
117
125
  Metrics/MethodLength:
126
+ Max: 20
118
127
  Exclude:
119
128
  - 'lib/jpmobile/emoticon.rb'
120
129
  - 'lib/jpmobile/helpers.rb'
@@ -131,3 +140,57 @@ Lint/SuppressedException:
131
140
  Lint/Void:
132
141
  Exclude:
133
142
  - 'lib/jpmobile/filter.rb'
143
+
144
+ Style/StringConcatenation:
145
+ Enabled: false
146
+
147
+ Layout/SpaceBeforeBrackets: # (new in 1.7)
148
+ Enabled: true
149
+ Exclude:
150
+ - '**/*_controller.rb'
151
+ - '**/*_spec.rb'
152
+ Lint/AmbiguousAssignment: # (new in 1.7)
153
+ Enabled: true
154
+ Lint/DuplicateBranch: # (new in 1.3)
155
+ Enabled: true
156
+ Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
157
+ Enabled: true
158
+ Lint/EmptyBlock: # (new in 1.1)
159
+ Enabled: true
160
+ Lint/EmptyClass: # (new in 1.3)
161
+ Enabled: true
162
+ Lint/NoReturnInBeginEndBlocks: # (new in 1.2)
163
+ Enabled: true
164
+ Lint/ToEnumArguments: # (new in 1.1)
165
+ Enabled: true
166
+ Lint/UnexpectedBlockArity: # (new in 1.5)
167
+ Enabled: true
168
+ Lint/UnmodifiedReduceAccumulator: # (new in 1.1)
169
+ Enabled: true
170
+ Style/ArgumentsForwarding: # (new in 1.1)
171
+ Enabled: true
172
+ Style/CollectionCompact: # (new in 1.2)
173
+ Enabled: true
174
+ Style/DocumentDynamicEvalDefinition: # (new in 1.1)
175
+ Enabled: true
176
+ Exclude:
177
+ - 'lib/jpmobile/path_set.rb'
178
+ Style/HashExcept: # (new in 1.7)
179
+ Enabled: true
180
+ Style/NegatedIfElseCondition: # (new in 1.2)
181
+ Enabled: true
182
+ Style/NilLambda: # (new in 1.3)
183
+ Enabled: true
184
+ Style/RedundantArgument: # (new in 1.4)
185
+ Enabled: true
186
+ Style/SwapValues: # (new in 1.1)
187
+ Enabled: true
188
+
189
+ Style/OptionalBooleanParameter:
190
+ Exclude:
191
+ - 'lib/jpmobile/emoticon.rb'
192
+ - 'lib/jpmobile/path_set.rb'
193
+
194
+ Metrics/ParameterLists:
195
+ Exclude:
196
+ - 'lib/jpmobile/path_set.rb'
data/Gemfile CHANGED
@@ -3,5 +3,5 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in jpmobile.gemspec
4
4
  gemspec
5
5
 
6
- gem 'rubocop', '0.79.0', require: false
7
- gem 'rubocop-performance', '1.5.2', require: false
6
+ gem 'rubocop', require: false
7
+ gem 'rubocop-performance', require: false
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jpmobile (6.0.0)
4
+ jpmobile (6.1.1)
5
5
  mail (~> 2.7.0)
6
6
  rexml
7
7
  scanf
@@ -96,7 +96,6 @@ GEM
96
96
  hpricot (0.8.6)
97
97
  i18n (1.8.5)
98
98
  concurrent-ruby (~> 1.0)
99
- jaro_winkler (1.5.4)
100
99
  json (2.3.1)
101
100
  loofah (2.8.0)
102
101
  crass (~> 1.0.2)
@@ -114,7 +113,7 @@ GEM
114
113
  nokogiri (1.10.10)
115
114
  mini_portile2 (~> 2.4.0)
116
115
  parallel (1.20.1)
117
- parser (2.7.2.0)
116
+ parser (3.0.0.0)
118
117
  ast (~> 2.4.1)
119
118
  pry (0.13.1)
120
119
  coderay (~> 1.1)
@@ -178,13 +177,17 @@ GEM
178
177
  rspec-mocks (~> 3.9)
179
178
  rspec-support (~> 3.9)
180
179
  rspec-support (3.10.0)
181
- rubocop (0.79.0)
182
- jaro_winkler (~> 1.5.1)
180
+ rubocop (1.7.0)
183
181
  parallel (~> 1.10)
184
- parser (>= 2.7.0.1)
182
+ parser (>= 2.7.1.5)
185
183
  rainbow (>= 2.2.2, < 4.0)
184
+ regexp_parser (>= 1.8, < 3.0)
185
+ rexml
186
+ rubocop-ast (>= 1.2.0, < 2.0)
186
187
  ruby-progressbar (~> 1.7)
187
- unicode-display_width (>= 1.4.0, < 1.7)
188
+ unicode-display_width (>= 1.4.0, < 2.0)
189
+ rubocop-ast (1.3.0)
190
+ parser (>= 2.7.1.5)
188
191
  rubocop-performance (1.5.2)
189
192
  rubocop (>= 0.71.0)
190
193
  ruby-progressbar (1.10.1)
@@ -202,7 +205,7 @@ GEM
202
205
  thor (1.0.1)
203
206
  tzinfo (2.0.3)
204
207
  concurrent-ruby (~> 1.0)
205
- unicode-display_width (1.6.1)
208
+ unicode-display_width (1.7.0)
206
209
  websocket-driver (0.7.3)
207
210
  websocket-extensions (>= 0.1.0)
208
211
  websocket-extensions (0.1.5)
@@ -225,9 +228,9 @@ DEPENDENCIES
225
228
  rspec
226
229
  rspec-its
227
230
  rspec-rails
228
- rubocop (= 0.79.0)
229
- rubocop-performance (= 1.5.2)
231
+ rubocop
232
+ rubocop-performance
230
233
  sqlite3-ruby
231
234
 
232
235
  BUNDLED WITH
233
- 2.2.2
236
+ 2.2.3
@@ -16,9 +16,11 @@ Gem::Specification.new do |gem|
16
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
17
17
  gem.require_paths = ['lib']
18
18
 
19
+ gem.required_ruby_version = '>= 2.5.0'
20
+
19
21
  gem.add_dependency 'mail', '~> 2.7.0'
20
- gem.add_dependency 'scanf'
21
22
  gem.add_dependency 'rexml'
23
+ gem.add_dependency 'scanf'
22
24
  gem.add_development_dependency 'capybara-webkit'
23
25
  gem.add_development_dependency 'geokit'
24
26
  gem.add_development_dependency 'git'
@@ -63,6 +63,7 @@ module Jpmobile
63
63
  autoload :Mailer, 'jpmobile/mailer'
64
64
  autoload :Resolver, 'jpmobile/resolver'
65
65
 
66
+ autoload :ViewSelector, 'jpmobile/view_selector'
66
67
  autoload :FallbackViewSelector, 'jpmobile/fallback_view_selector'
67
68
 
68
69
  autoload :ParamsOverCookie, 'jpmobile/trans_sid'
@@ -2,9 +2,7 @@ module Jpmobile
2
2
  class Configuration
3
3
  include Singleton
4
4
 
5
- attr_accessor :form_accept_charset_conversion
6
- attr_accessor :smart_phone_emoticon_compatibility
7
- attr_accessor :fallback_view_selector
5
+ attr_accessor :form_accept_charset_conversion, :smart_phone_emoticon_compatibility, :fallback_view_selector
8
6
 
9
7
  def initialize
10
8
  @form_accept_charset_conversion = false
@@ -23,5 +21,11 @@ module Jpmobile
23
21
  def mount_session_store
24
22
  @session_store && @session_store.call
25
23
  end
24
+
25
+ module RailsConfiguration
26
+ def jpmobile
27
+ @jpmobile ||= ::Jpmobile.config
28
+ end
29
+ end
26
30
  end
27
31
  end
@@ -30,8 +30,8 @@ module Jpmobile::DocomoGuid #:nodoc:
30
30
  return false unless request.mobile.is_a?(Jpmobile::Mobile::Docomo)
31
31
  return false if not_apply_guid_user_agent?
32
32
 
33
- if docomo_guid_mode == :valid_ip
34
- return false unless request.mobile.valid_ip?
33
+ if docomo_guid_mode == :valid_ip && !request.mobile.valid_ip?
34
+ return false
35
35
  end
36
36
 
37
37
  true
@@ -20,7 +20,7 @@ module Jpmobile
20
20
  Mobile.carriers.each do |const|
21
21
  c = Mobile.const_get(const)
22
22
  if c::MAIL_ADDRESS_REGEXP &&
23
- header.match(/(\S+@[A-Za-z0-9\-\.\_]+)/) &&
23
+ header.match(/(\S+@[A-Za-z0-9\-._]+)/) &&
24
24
  Regexp.last_match(1).match(/^#{c::MAIL_ADDRESS_REGEXP}$/)
25
25
  return c
26
26
  end
@@ -33,14 +33,12 @@ module Jpmobile
33
33
  nil
34
34
  end
35
35
 
36
- attr_writer :japanese_mail_address_regexp
36
+ attr_writer :japanese_mail_address_regexp, :converting_content_type
37
37
 
38
38
  def japanese_mail?(header)
39
39
  @japanese_mail_address_regexp and header.match(@japanese_mail_address_regexp)
40
40
  end
41
41
 
42
- attr_writer :converting_content_type
43
-
44
42
  def converting_content_type
45
43
  @converting_content_type ||= ['text/plain', 'text/html']
46
44
  end
@@ -96,20 +96,15 @@ module Jpmobile
96
96
  unicodes = match.unpack('U*')
97
97
  unicodes = unicodes.first if unicodes.size == 1
98
98
 
99
- if (emoticon = UNICODE_EMOTICON_TO_CARRIER_EMOTICON[unicodes]) == GETA_CODE
100
- GETA
101
- elsif emoticon
102
- case emoticon
103
- when GETA_CODE
104
- GETA
105
- when Integer
106
- '&#x%04x;' % emoticon
107
- when String
108
- emoticon
109
- end
110
- else
111
- # 変換できなければ〓に
99
+ emoticon = UNICODE_EMOTICON_TO_CARRIER_EMOTICON[unicodes]
100
+ case emoticon
101
+ when GETA_CODE, nil
102
+ # 〓が指定されているか変換できなければ〓に
112
103
  GETA
104
+ when Integer
105
+ '&#x%04x;' % emoticon
106
+ when String
107
+ emoticon
113
108
  end
114
109
  end
115
110
  end
@@ -122,15 +117,13 @@ module Jpmobile
122
117
 
123
118
  emoticon = GOOGLE_EMOTICON_TO_CARRIER_EMOTICON[unicodes]
124
119
  case emoticon
125
- when GETA_CODE
120
+ when GETA_CODE, nil
121
+ # 〓が指定されているか変換できなければ〓に
126
122
  GETA
127
123
  when Integer
128
124
  '&#x%04x;' % emoticon
129
125
  when String
130
126
  emoticon
131
- else
132
- # 変換できなければ〓に
133
- GETA
134
127
  end
135
128
  end
136
129
  end
@@ -54,8 +54,8 @@ module Jpmobile
54
54
  private
55
55
 
56
56
  def replace_chars(str, table)
57
- @regexp_cache ||= {}
58
- str.gsub(@regexp_cache[table.object_id] ||= Regexp.union(table.keys), table)
57
+ @regexp_cache ||= {}.compare_by_identity
58
+ str.gsub(@regexp_cache[table] ||= Regexp.union(table.keys), table)
59
59
  end
60
60
 
61
61
  def han_to_zen_table
@@ -456,17 +456,17 @@ module Mail
456
456
 
457
457
  def decoded_with_jpmobile
458
458
  if @mobile
459
- return value unless value =~ /\=\?[^?]+\?([QB])\?[^?]*?\?\=/mi
459
+ return value unless value =~ /=\?[^?]+\?([QB])\?[^?]*?\?=/mi
460
460
 
461
461
  Encodings.collapse_adjacent_encodings(value).each {|line|
462
- line.gsub!(/\=\?[^?]+\?([QB])\?[^?]*?\?\=/mi) do |string|
462
+ line.gsub!(/=\?[^?]+\?([QB])\?[^?]*?\?=/mi) do |string|
463
463
  case Regexp.last_match(1)
464
464
  when 'B', 'b' then decode_b_value_for_mobile(string)
465
465
  when 'Q', 'q' then Encodings.q_value_decode(string)
466
466
  else line
467
467
  end
468
468
  end
469
- }.join('')
469
+ }.join
470
470
  else
471
471
  decoded_without_jpmobile
472
472
  end
@@ -479,7 +479,7 @@ module Mail
479
479
  alias_method :decoded, :decoded_with_jpmobile
480
480
 
481
481
  def decode_b_value_for_mobile(str)
482
- match = str.match(/\=\?(.+)?\?[Bb]\?(.*)\?\=/m)
482
+ match = str.match(/=\?(.+)?\?[Bb]\?(.*)\?=/m)
483
483
  if match
484
484
  charset = match[1]
485
485
  str = Ruby19.decode_base64(match[2])
@@ -1,7 +1,7 @@
1
1
  require 'jpmobile/mail'
2
2
  require 'jpmobile/lookup_context'
3
3
 
4
- Jpmobile::Email.japanese_mail_address_regexp = Regexp.new(/\.jp(?:[^a-zA-Z\.\-]|$)/)
4
+ Jpmobile::Email.japanese_mail_address_regexp = Regexp.new(/\.jp(?:[^a-zA-Z.\-]|$)/)
5
5
 
6
6
  module Jpmobile
7
7
  module Mailer
@@ -177,7 +177,7 @@ module Jpmobile::Mobile
177
177
  end
178
178
 
179
179
  def to_mail_subject_encoded?(str)
180
- str.match(/\=\?#{mail_charset}\?B.+\?\=/i)
180
+ str.match(/=\?#{mail_charset}\?B.+\?=/i)
181
181
  end
182
182
 
183
183
  def to_mail_body_encoded?(str)
@@ -44,9 +44,8 @@ module Jpmobile::Mobile
44
44
  # 端末製造番号があれば返す。無ければ +nil+ を返す。
45
45
  def serial_number
46
46
  case @env['HTTP_USER_AGENT']
47
- when /ser([0-9a-zA-Z]{11})$/ # mova
48
- Regexp.last_match(1)
49
- when /ser([0-9a-zA-Z]{15});/ # FOMA
47
+ when /ser([0-9a-zA-Z]{11})$/, # mova
48
+ /ser([0-9a-zA-Z]{15});/ # FOMA
50
49
  Regexp.last_match(1)
51
50
  else
52
51
  nil
@@ -160,9 +159,8 @@ module Jpmobile::Mobile
160
159
  # モデル名を返す。
161
160
  def model_name
162
161
  case @env['HTTP_USER_AGENT']
163
- when %r{^DoCoMo/2.0 (.+)\(}
164
- Regexp.last_match(1)
165
- when %r{^DoCoMo/1.0/(.+?)/}
162
+ when %r{^DoCoMo/2.0 (.+)\(},
163
+ %r{^DoCoMo/1.0/(.+?)/}
166
164
  Regexp.last_match(1)
167
165
  else
168
166
  nil
@@ -10,10 +10,11 @@ module Jpmobile
10
10
  if (mobile = env['rack.jpmobile']) && mobile.apply_params_filter?
11
11
  # パラメータをkey, valueに分解
12
12
  # form_params
13
- unless env['REQUEST_METHOD'] == 'GET' || env['REQUEST_METHOD'] == 'HEAD'
14
- unless env['CONTENT_TYPE'].match?(%r{application/json|application/xml})
15
- env['rack.input'] = StringIO.new(parse_query(env['rack.input'].read, mobile))
16
- end
13
+ if env['REQUEST_METHOD'] != 'GET' &&
14
+ env['REQUEST_METHOD'] != 'HEAD' &&
15
+ !env['CONTENT_TYPE'].match?(%r{application/json|application/xml})
16
+
17
+ env['rack.input'] = StringIO.new(parse_query(env['rack.input'].read, mobile))
17
18
  end
18
19
 
19
20
  # query_params
@@ -33,39 +33,5 @@ ActiveSupport.on_load(:before_configuration) do
33
33
  # MobileCarrierのみデフォルトで有効
34
34
  config.middleware.insert_after ActionDispatch::Flash, ::Jpmobile::MobileCarrier
35
35
 
36
- module Rails
37
- class Application
38
- class Configuration
39
- def jpmobile
40
- @jpmobile ||= ::Jpmobile.config
41
- end
42
- end
43
- end
44
- end
45
- end
46
-
47
- module Jpmobile
48
- module ViewSelector
49
- def self.included(base)
50
- base.class_eval do
51
- before_action :register_mobile
52
-
53
- self._view_paths = self._view_paths.dup
54
- self.view_paths.unshift(*self.view_paths.map {|resolver| Jpmobile::Resolver.new(resolver.to_path) })
55
- end
56
- end
57
-
58
- def register_mobile
59
- if request.mobile
60
- # register mobile
61
- self.lookup_context.mobile = request.mobile.variants
62
- end
63
- end
64
-
65
- def disable_mobile_view!
66
- self.lookup_context.mobile = []
67
- end
68
-
69
- private :register_mobile, :disable_mobile_view!
70
- end
36
+ Rails::Application::Configuration.include Jpmobile::Configuration::RailsConfiguration
71
37
  end
@@ -255,9 +255,8 @@ module Jpmobile
255
255
  SJIS
256
256
  when ::Encoding::UTF_8
257
257
  UTF8
258
- when ::Encoding::ASCII_8BIT
259
- BINARY
260
258
  else
259
+ # 上記以外はすべて BINARY 扱い
261
260
  BINARY
262
261
  end
263
262
  end
@@ -297,7 +296,7 @@ module Jpmobile
297
296
 
298
297
  def invert_table(hash)
299
298
  result = {}
300
- hash.keys.each do |key|
299
+ hash.each_key do |key|
301
300
  if result[hash[key]]
302
301
  if !key.is_a?(Array) && !result[hash[key]].is_a?(Array) && result[hash[key]] > key
303
302
  result[hash[key]] = key
@@ -1,3 +1,3 @@
1
1
  module Jpmobile
2
- VERSION = '6.1.0'.freeze
2
+ VERSION = '6.1.1'.freeze
3
3
  end
@@ -75,8 +75,6 @@ module Jpmobile::RackHelper
75
75
  body = case res
76
76
  when Array
77
77
  res[2]
78
- when String
79
- res.body
80
78
  else
81
79
  res.body
82
80
  end
@@ -84,8 +82,6 @@ module Jpmobile::RackHelper
84
82
  case body
85
83
  when Array
86
84
  body.first
87
- when String
88
- body
89
85
  else
90
86
  body
91
87
  end
@@ -56,7 +56,7 @@ describe 'Jpmobile::Email' do
56
56
 
57
57
  describe 'japanese_mail_address_regexp' do
58
58
  before do
59
- Jpmobile::Email.japanese_mail_address_regexp = Regexp.new(/\.jp(?:[^a-zA-Z\.\-]|$)/)
59
+ Jpmobile::Email.japanese_mail_address_regexp = Regexp.new(/\.jp(?:[^a-zA-Z.\-]|$)/)
60
60
  end
61
61
 
62
62
  it '#detect_from_mail_header should return Jpmobile::Mobile::AbstractMobile when the header contains .jp address' do
@@ -7,7 +7,7 @@ describe 'Jpmobile::Mail#receive' do
7
7
 
8
8
  before(:each) do
9
9
  @to = 'info@jpmobile-rails.org'
10
- Jpmobile::Email.japanese_mail_address_regexp = Regexp.new(/\.jp[^a-zA-Z\.\-]/)
10
+ Jpmobile::Email.japanese_mail_address_regexp = Regexp.new(/\.jp[^a-zA-Z.\-]/)
11
11
  end
12
12
 
13
13
  describe 'PC mail' do
@@ -4,7 +4,7 @@ gem 'jpmobile', path: './vendor/jpmobile'
4
4
  gem 'jpmobile-terminfo', path: './vendor/jpmobile-terminfo'
5
5
  gem 'jpmobile-ipaddresses', path: './vendor/jpmobile-ipaddresses'
6
6
 
7
- gem 'activerecord-session_store', '~> 1.1.1'
7
+ gem 'activerecord-session_store', git: 'https://github.com/rails/activerecord-session_store.git', ref: 'f188efbc49a522123cc8acc805143824176d01c1'
8
8
 
9
9
  gem 'pry'
10
10
  gem 'pry-byebug'
@@ -6,7 +6,7 @@ shared_examples_for 'docomo_guid が起動しないとき' do
6
6
  it 'で link_to の自動書き換えが行われない' do
7
7
  get :link
8
8
 
9
- expect(response.body).to match(%r{href=\".+/link\"})
9
+ expect(response.body).to match(%r{href=".+/link"})
10
10
  end
11
11
  end
12
12
 
@@ -14,7 +14,7 @@ shared_examples_for 'docomo_guid が起動するとき' do
14
14
  it 'で link_to の自動書き換えが行われる' do
15
15
  get :link
16
16
 
17
- expect(response.body).to match(%r{href=\".+/link\?guid=ON\"})
17
+ expect(response.body).to match(%r{href=".+/link\?guid=ON"})
18
18
  end
19
19
  end
20
20
 
@@ -27,12 +27,12 @@ describe 'trans_sid functional', type: :request do
27
27
  it 'で link_to の自動書き換えが行われない' do
28
28
  res = get_with_session(@controller, 'link', @user_agent)
29
29
 
30
- expect(res.response.body).to match(%r{<a href=\"/.+?/link\">linkto</a>})
30
+ expect(res.response.body).to match(%r{<a href="/.+?/link">linkto</a>})
31
31
  end
32
32
  it 'で form の自動書き換えが行われない' do
33
33
  res = get_with_session(@controller, 'form', @user_agent)
34
34
 
35
- expect(res.response.body).to match(%r{<form.*action=\"/.+?/form\".*accept-charset="#{@charset}"})
35
+ expect(res.response.body).to match(%r{<form.*action="/.+?/form".*accept-charset="#{@charset}"})
36
36
  end
37
37
  it 'で redirect の自動書き換えが行われない' do
38
38
  res = get_with_session(@controller, 'redirect', @user_agent)
@@ -45,16 +45,16 @@ describe 'trans_sid functional', type: :request do
45
45
  it 'で link_to の自動書き換えが行われる' do
46
46
  res = get_with_session(@controller, 'link', @user_agent)
47
47
 
48
- expect(res.response.body).to match(%r{<a href=\"/.+?/link\?_session_id=[a-zA-Z0-9]{32}\">linkto</a>})
48
+ expect(res.response.body).to match(%r{<a href="/.+?/link\?_session_id=[a-zA-Z0-9]{32}">linkto</a>})
49
49
  end
50
50
  it 'で form内にhiddenが差し込まれる' do
51
51
  res = get_with_session(@controller, 'form', @user_agent)
52
- expect(res.response.body).to match(/<input type=\"hidden\" name=\".+\" value=\"[a-zA-Z0-9]{32}\"/)
52
+ expect(res.response.body).to match(/<input type="hidden" name=".+" value="[a-zA-Z0-9]{32}"/)
53
53
  end
54
54
  it 'で form の自動書き換えが行われる' do
55
55
  res = get_with_session(@controller, 'form', @user_agent)
56
56
 
57
- expect(res.response.body).to match(%r{<form.*action=\"/.+?/form\?_session_id=[a-zA-Z0-9]{32}\".*accept-charset="#{@charset}"})
57
+ expect(res.response.body).to match(%r{<form.*action="/.+?/form\?_session_id=[a-zA-Z0-9]{32}".*accept-charset="#{@charset}"})
58
58
  end
59
59
  it 'で redirect の自動書き換えが行われる' do
60
60
  res = get_with_session(@controller, 'redirect', @user_agent)
@@ -66,12 +66,12 @@ describe 'trans_sid functional', type: :request do
66
66
  it 'で @user の link_to の自動書き換えが行われる' do
67
67
  res = get_with_session(@controller, 'link_path', @user_agent)
68
68
 
69
- expect(res.response.body).to match(%r{<a href=\"/users/1\?_session_id=[a-zA-Z0-9]{32}\">linkto</a>})
69
+ expect(res.response.body).to match(%r{<a href="/users/1\?_session_id=[a-zA-Z0-9]{32}">linkto</a>})
70
70
  end
71
71
  it 'で @user の form の自動書き換えが行われる' do
72
72
  res = get_with_session(@controller, 'form_path', @user_agent)
73
73
 
74
- expect(res.response.body).to match(%r{<form.*action=\"/users/1\?_session_id=[a-zA-Z0-9]{32}\".*accept-charset="#{@charset}"})
74
+ expect(res.response.body).to match(%r{<form.*action="/users/1\?_session_id=[a-zA-Z0-9]{32}".*accept-charset="#{@charset}"})
75
75
  end
76
76
  it 'で @path の redirect の自動書き換えが行われる' do
77
77
  res = get_with_session(@controller, 'redirect_path', @user_agent)
@@ -83,12 +83,12 @@ describe 'trans_sid functional', type: :request do
83
83
  it 'で [:admin, @user] の link_to の自動書き換えが行われる' do
84
84
  res = get_with_session(@controller, 'link_path_admin', @user_agent)
85
85
 
86
- expect(res.response.body).to match(%r{<a href=\"/admin/users/1\?_session_id=[a-zA-Z0-9]{32}\">linkto</a>})
86
+ expect(res.response.body).to match(%r{<a href="/admin/users/1\?_session_id=[a-zA-Z0-9]{32}">linkto</a>})
87
87
  end
88
88
  it 'で [:admin, @user] の form の自動書き換えが行われる' do
89
89
  res = get_with_session(@controller, 'form_path_admin', @user_agent)
90
90
 
91
- expect(res.response.body).to match(%r{<form.*action=\"/admin/users/1\?_session_id=[a-zA-Z0-9]{32}\".* accept-charset="#{@charset}"})
91
+ expect(res.response.body).to match(%r{<form.*action="/admin/users/1\?_session_id=[a-zA-Z0-9]{32}".* accept-charset="#{@charset}"})
92
92
  end
93
93
  it 'で [:admin, @path] の redirect の自動書き換えが行われる' do
94
94
  res = get_with_session(@controller, 'redirect_path_admin', @user_agent)
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: 6.1.0
4
+ version: 6.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shin-ichiro OGAWA
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-12-24 00:00:00.000000000 Z
12
+ date: 2020-12-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mail
@@ -26,7 +26,7 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: 2.7.0
28
28
  - !ruby/object:Gem::Dependency
29
- name: scanf
29
+ name: rexml
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
@@ -40,7 +40,7 @@ dependencies:
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
- name: rexml
43
+ name: scanf
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
@@ -478,7 +478,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
478
478
  requirements:
479
479
  - - ">="
480
480
  - !ruby/object:Gem::Version
481
- version: '0'
481
+ version: 2.5.0
482
482
  required_rubygems_version: !ruby/object:Gem::Requirement
483
483
  requirements:
484
484
  - - ">="