jpmobile 7.0.0 → 7.0.3
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 +4 -4
- data/.circleci/config.yml +5 -2
- data/.rubocop.yml +104 -1
- data/.ruby-version +1 -1
- data/Gemfile.lock +116 -89
- data/README.md +24 -3
- data/Rakefile +1 -1
- data/jpmobile.gemspec +2 -1
- data/lib/jpmobile/datum_conv.rb +7 -7
- data/lib/jpmobile/email.rb +2 -2
- data/lib/jpmobile/fallback_view_selector.rb +2 -2
- data/lib/jpmobile/filter.rb +3 -1
- data/lib/jpmobile/mail.rb +2 -2
- data/lib/jpmobile/mailer.rb +1 -1
- data/lib/jpmobile/method_less_action_support.rb +11 -0
- data/lib/jpmobile/mobile/abstract_mobile.rb +1 -1
- data/lib/jpmobile/mobile/android.rb +1 -1
- data/lib/jpmobile/mobile/au.rb +6 -8
- data/lib/jpmobile/mobile/black_berry.rb +1 -1
- data/lib/jpmobile/mobile/ddipocket.rb +1 -1
- data/lib/jpmobile/mobile/docomo.rb +2 -2
- data/lib/jpmobile/mobile/emobile.rb +2 -2
- data/lib/jpmobile/mobile/ipad.rb +1 -1
- data/lib/jpmobile/mobile/iphone.rb +1 -1
- data/lib/jpmobile/mobile/softbank.rb +5 -3
- data/lib/jpmobile/mobile/vodafone.rb +2 -2
- data/lib/jpmobile/mobile/willcom.rb +2 -2
- data/lib/jpmobile/mobile/windows_phone.rb +1 -1
- data/lib/jpmobile/position.rb +2 -2
- data/lib/jpmobile/rails.rb +1 -0
- data/lib/jpmobile/template_details.rb +1 -1
- data/lib/jpmobile/version.rb +1 -1
- data/lib/tasks/jpmobile_tasks.rake +2 -4
- data/spec/unit/decorated_mail_spec.rb +1 -1
- data/spec/unit/mail_spec.rb +2 -2
- data/spec/unit/receive_mail_spec.rb +29 -29
- data/test/rails/overrides/app/controllers/method_less_action_support_controller.rb +3 -0
- data/test/rails/overrides/app/mailers/decorated_mailer.rb +1 -1
- data/test/rails/overrides/app/views/method_less_action_support/index_smart_phone.html.erb +0 -0
- data/test/rails/overrides/config/routes.rb +4 -0
- data/test/rails/overrides/spec/requests/method_less_action_support_spec.rb +28 -0
- metadata +13 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b00599e53c71e6bf45f9d8b953b4e7256d3a0f32f1e7f905006467e4a2dd8095
|
4
|
+
data.tar.gz: 935af37ae804e50db7cccf3fa979abddde111ba5f9e9fe61fea57a1420a567d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f418fba357ce7cd534817f4a398b0308d9baa720196ff6eecdb459806f5c998a1408db386ce9917bf74e62857406dd91f8f6757319b35d95f571a763b2f5ad1
|
7
|
+
data.tar.gz: 8067721a16ed607f3074326ebf340be90e6991bdc186a4e9d8f251a8b857b67789d235489d6bf75511f3b7b66923c8a6f1f62ba84df95f2e041143d3b307aa80
|
data/.circleci/config.yml
CHANGED
@@ -5,7 +5,7 @@ jobs:
|
|
5
5
|
test-job:
|
6
6
|
working_directory: ~/jpmobile
|
7
7
|
docker:
|
8
|
-
- image: cimg/ruby:3.
|
8
|
+
- image: cimg/ruby:3.1-browsers
|
9
9
|
environment:
|
10
10
|
BUNDLE_JOBS: 3
|
11
11
|
BUNDLE_RETRY: 3
|
@@ -34,7 +34,10 @@ jobs:
|
|
34
34
|
|
35
35
|
- run:
|
36
36
|
name: Bundle Install
|
37
|
-
command:
|
37
|
+
command: |
|
38
|
+
bundle config set --local clean true
|
39
|
+
bundle config set --local path vendor/bundle
|
40
|
+
bundle check || bundle install
|
38
41
|
|
39
42
|
# Store bundle cache
|
40
43
|
- save_cache:
|
data/.rubocop.yml
CHANGED
@@ -3,7 +3,7 @@ require: rubocop-performance
|
|
3
3
|
inherit_from: './.onkcop-config.yml'
|
4
4
|
|
5
5
|
AllCops:
|
6
|
-
TargetRubyVersion:
|
6
|
+
TargetRubyVersion: 2.7
|
7
7
|
Exclude:
|
8
8
|
- 'tmp/**/*'
|
9
9
|
- 'bin/*'
|
@@ -194,3 +194,106 @@ Style/OptionalBooleanParameter:
|
|
194
194
|
Metrics/ParameterLists:
|
195
195
|
Exclude:
|
196
196
|
- 'lib/jpmobile/path_set.rb'
|
197
|
+
|
198
|
+
Gemspec/DateAssignment: # new in 1.10
|
199
|
+
Enabled: true
|
200
|
+
Gemspec/RequireMFA: # new in 1.23
|
201
|
+
Enabled: true
|
202
|
+
Layout/LineEndStringConcatenationIndentation: # new in 1.18
|
203
|
+
Enabled: true
|
204
|
+
Lint/AmbiguousOperatorPrecedence: # new in 1.21
|
205
|
+
Enabled: true
|
206
|
+
Lint/AmbiguousRange: # new in 1.19
|
207
|
+
Enabled: true
|
208
|
+
Lint/DeprecatedConstants: # new in 1.8
|
209
|
+
Enabled: true
|
210
|
+
Lint/EmptyInPattern: # new in 1.16
|
211
|
+
Enabled: true
|
212
|
+
Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
|
213
|
+
Enabled: true
|
214
|
+
Lint/LambdaWithoutLiteralBlock: # new in 1.8
|
215
|
+
Enabled: true
|
216
|
+
Lint/NumberedParameterAssignment: # new in 1.9
|
217
|
+
Enabled: true
|
218
|
+
Lint/OrAssignmentToConstant: # new in 1.9
|
219
|
+
Enabled: true
|
220
|
+
Lint/RedundantDirGlobSort: # new in 1.8
|
221
|
+
Enabled: true
|
222
|
+
Lint/RequireRelativeSelfPath: # new in 1.22
|
223
|
+
Enabled: true
|
224
|
+
Lint/SymbolConversion: # new in 1.9
|
225
|
+
Enabled: true
|
226
|
+
Lint/TripleQuotes: # new in 1.9
|
227
|
+
Enabled: true
|
228
|
+
Lint/UselessRuby2Keywords: # new in 1.23
|
229
|
+
Enabled: true
|
230
|
+
Naming/BlockForwarding: # new in 1.24
|
231
|
+
Enabled: true
|
232
|
+
Security/IoMethods: # new in 1.22
|
233
|
+
Enabled: true
|
234
|
+
Style/EndlessMethod: # new in 1.8
|
235
|
+
Enabled: true
|
236
|
+
Style/FileRead: # new in 1.24
|
237
|
+
Enabled: true
|
238
|
+
Style/FileWrite: # new in 1.24
|
239
|
+
Enabled: true
|
240
|
+
Style/HashConversion: # new in 1.10
|
241
|
+
Enabled: true
|
242
|
+
Style/IfWithBooleanLiteralBranches: # new in 1.9
|
243
|
+
Enabled: true
|
244
|
+
Style/InPatternThen: # new in 1.16
|
245
|
+
Enabled: true
|
246
|
+
Style/MapToHash: # new in 1.24
|
247
|
+
Enabled: true
|
248
|
+
Style/MultilineInPatternThen: # new in 1.16
|
249
|
+
Enabled: true
|
250
|
+
Style/NumberedParameters: # new in 1.22
|
251
|
+
Enabled: true
|
252
|
+
Style/NumberedParametersLimit: # new in 1.22
|
253
|
+
Enabled: true
|
254
|
+
Style/OpenStructUse: # new in 1.23
|
255
|
+
Enabled: true
|
256
|
+
Style/QuotedSymbols: # new in 1.16
|
257
|
+
Enabled: true
|
258
|
+
Style/RedundantSelfAssignmentBranch: # new in 1.19
|
259
|
+
Enabled: true
|
260
|
+
Style/SelectByRegexp: # new in 1.22
|
261
|
+
Enabled: true
|
262
|
+
Style/StringChars: # new in 1.12
|
263
|
+
Enabled: true
|
264
|
+
Performance/AncestorsInclude: # new in 1.7
|
265
|
+
Enabled: true
|
266
|
+
Performance/BigDecimalWithNumericArgument: # new in 1.7
|
267
|
+
Enabled: true
|
268
|
+
Performance/BlockGivenWithExplicitBlock: # new in 1.9
|
269
|
+
Enabled: true
|
270
|
+
Performance/CollectionLiteralInLoop: # new in 1.8
|
271
|
+
Enabled: true
|
272
|
+
Performance/ConcurrentMonotonicTime: # new in 1.12
|
273
|
+
Enabled: true
|
274
|
+
Performance/ConstantRegexp: # new in 1.9
|
275
|
+
Enabled: true
|
276
|
+
Performance/MapCompact: # new in 1.11
|
277
|
+
Enabled: true
|
278
|
+
Performance/MethodObjectAsBlock: # new in 1.9
|
279
|
+
Enabled: true
|
280
|
+
Performance/RedundantEqualityComparisonBlock: # new in 1.10
|
281
|
+
Enabled: true
|
282
|
+
Performance/RedundantSortBlock: # new in 1.7
|
283
|
+
Enabled: true
|
284
|
+
Performance/RedundantSplitRegexpArgument: # new in 1.10
|
285
|
+
Enabled: true
|
286
|
+
Performance/RedundantStringChars: # new in 1.7
|
287
|
+
Enabled: true
|
288
|
+
Performance/ReverseFirst: # new in 1.7
|
289
|
+
Enabled: true
|
290
|
+
Performance/SortReverse: # new in 1.7
|
291
|
+
Enabled: true
|
292
|
+
Performance/Squeeze: # new in 1.7
|
293
|
+
Enabled: true
|
294
|
+
Performance/StringIdentifierArgument: # new in 1.13
|
295
|
+
Enabled: true
|
296
|
+
Performance/StringInclude: # new in 1.7
|
297
|
+
Enabled: false
|
298
|
+
Performance/Sum: # new in 1.8
|
299
|
+
Enabled: true
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.1.2
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
jpmobile (
|
4
|
+
jpmobile (7.0.3)
|
5
5
|
mail (~> 2.7.0)
|
6
6
|
rexml
|
7
7
|
scanf
|
@@ -9,61 +9,67 @@ PATH
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
|
-
actioncable (7.0.
|
13
|
-
actionpack (= 7.0.
|
14
|
-
activesupport (= 7.0.
|
12
|
+
actioncable (7.0.3)
|
13
|
+
actionpack (= 7.0.3)
|
14
|
+
activesupport (= 7.0.3)
|
15
15
|
nio4r (~> 2.0)
|
16
16
|
websocket-driver (>= 0.6.1)
|
17
|
-
actionmailbox (7.0.
|
18
|
-
actionpack (= 7.0.
|
19
|
-
activejob (= 7.0.
|
20
|
-
activerecord (= 7.0.
|
21
|
-
activestorage (= 7.0.
|
22
|
-
activesupport (= 7.0.
|
17
|
+
actionmailbox (7.0.3)
|
18
|
+
actionpack (= 7.0.3)
|
19
|
+
activejob (= 7.0.3)
|
20
|
+
activerecord (= 7.0.3)
|
21
|
+
activestorage (= 7.0.3)
|
22
|
+
activesupport (= 7.0.3)
|
23
23
|
mail (>= 2.7.1)
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
net-imap
|
25
|
+
net-pop
|
26
|
+
net-smtp
|
27
|
+
actionmailer (7.0.3)
|
28
|
+
actionpack (= 7.0.3)
|
29
|
+
actionview (= 7.0.3)
|
30
|
+
activejob (= 7.0.3)
|
31
|
+
activesupport (= 7.0.3)
|
29
32
|
mail (~> 2.5, >= 2.5.4)
|
33
|
+
net-imap
|
34
|
+
net-pop
|
35
|
+
net-smtp
|
30
36
|
rails-dom-testing (~> 2.0)
|
31
|
-
actionpack (7.0.
|
32
|
-
actionview (= 7.0.
|
33
|
-
activesupport (= 7.0.
|
37
|
+
actionpack (7.0.3)
|
38
|
+
actionview (= 7.0.3)
|
39
|
+
activesupport (= 7.0.3)
|
34
40
|
rack (~> 2.0, >= 2.2.0)
|
35
41
|
rack-test (>= 0.6.3)
|
36
42
|
rails-dom-testing (~> 2.0)
|
37
43
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
38
|
-
actiontext (7.0.
|
39
|
-
actionpack (= 7.0.
|
40
|
-
activerecord (= 7.0.
|
41
|
-
activestorage (= 7.0.
|
42
|
-
activesupport (= 7.0.
|
44
|
+
actiontext (7.0.3)
|
45
|
+
actionpack (= 7.0.3)
|
46
|
+
activerecord (= 7.0.3)
|
47
|
+
activestorage (= 7.0.3)
|
48
|
+
activesupport (= 7.0.3)
|
43
49
|
globalid (>= 0.6.0)
|
44
50
|
nokogiri (>= 1.8.5)
|
45
|
-
actionview (7.0.
|
46
|
-
activesupport (= 7.0.
|
51
|
+
actionview (7.0.3)
|
52
|
+
activesupport (= 7.0.3)
|
47
53
|
builder (~> 3.1)
|
48
54
|
erubi (~> 1.4)
|
49
55
|
rails-dom-testing (~> 2.0)
|
50
56
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
51
|
-
activejob (7.0.
|
52
|
-
activesupport (= 7.0.
|
57
|
+
activejob (7.0.3)
|
58
|
+
activesupport (= 7.0.3)
|
53
59
|
globalid (>= 0.3.6)
|
54
|
-
activemodel (7.0.
|
55
|
-
activesupport (= 7.0.
|
56
|
-
activerecord (7.0.
|
57
|
-
activemodel (= 7.0.
|
58
|
-
activesupport (= 7.0.
|
59
|
-
activestorage (7.0.
|
60
|
-
actionpack (= 7.0.
|
61
|
-
activejob (= 7.0.
|
62
|
-
activerecord (= 7.0.
|
63
|
-
activesupport (= 7.0.
|
60
|
+
activemodel (7.0.3)
|
61
|
+
activesupport (= 7.0.3)
|
62
|
+
activerecord (7.0.3)
|
63
|
+
activemodel (= 7.0.3)
|
64
|
+
activesupport (= 7.0.3)
|
65
|
+
activestorage (7.0.3)
|
66
|
+
actionpack (= 7.0.3)
|
67
|
+
activejob (= 7.0.3)
|
68
|
+
activerecord (= 7.0.3)
|
69
|
+
activesupport (= 7.0.3)
|
64
70
|
marcel (~> 1.0)
|
65
71
|
mini_mime (>= 1.1.0)
|
66
|
-
activesupport (7.0.
|
72
|
+
activesupport (7.0.3)
|
67
73
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
68
74
|
i18n (>= 1.6, < 2)
|
69
75
|
minitest (>= 5.1)
|
@@ -71,19 +77,20 @@ GEM
|
|
71
77
|
ast (2.4.2)
|
72
78
|
builder (3.2.4)
|
73
79
|
coderay (1.1.3)
|
74
|
-
concurrent-ruby (1.1.
|
80
|
+
concurrent-ruby (1.1.10)
|
75
81
|
crass (1.0.6)
|
76
|
-
diff-lcs (1.
|
82
|
+
diff-lcs (1.5.0)
|
83
|
+
digest (3.1.0)
|
77
84
|
erubi (1.10.0)
|
78
85
|
geokit (1.13.1)
|
79
|
-
git (1.
|
86
|
+
git (1.11.0)
|
80
87
|
rchardet (~> 1.8)
|
81
88
|
globalid (1.0.0)
|
82
89
|
activesupport (>= 5.0)
|
83
90
|
hpricot (0.8.6)
|
84
|
-
i18n (1.
|
91
|
+
i18n (1.10.0)
|
85
92
|
concurrent-ruby (~> 1.0)
|
86
|
-
loofah (2.
|
93
|
+
loofah (2.18.0)
|
87
94
|
crass (~> 1.0.2)
|
88
95
|
nokogiri (>= 1.5.9)
|
89
96
|
mail (2.7.1)
|
@@ -92,66 +99,82 @@ GEM
|
|
92
99
|
method_source (1.0.0)
|
93
100
|
mini_mime (1.1.2)
|
94
101
|
minitest (5.15.0)
|
102
|
+
net-imap (0.2.3)
|
103
|
+
digest
|
104
|
+
net-protocol
|
105
|
+
strscan
|
106
|
+
net-pop (0.1.1)
|
107
|
+
digest
|
108
|
+
net-protocol
|
109
|
+
timeout
|
110
|
+
net-protocol (0.1.3)
|
111
|
+
timeout
|
112
|
+
net-smtp (0.3.1)
|
113
|
+
digest
|
114
|
+
net-protocol
|
115
|
+
timeout
|
95
116
|
nio4r (2.5.8)
|
96
|
-
nokogiri (1.
|
117
|
+
nokogiri (1.13.6-arm64-darwin)
|
97
118
|
racc (~> 1.4)
|
98
|
-
|
99
|
-
|
119
|
+
nokogiri (1.13.6-x86_64-linux)
|
120
|
+
racc (~> 1.4)
|
121
|
+
parallel (1.22.1)
|
122
|
+
parser (3.1.2.0)
|
100
123
|
ast (~> 2.4.1)
|
101
124
|
pry (0.14.1)
|
102
125
|
coderay (~> 1.1)
|
103
126
|
method_source (~> 1.0)
|
104
127
|
racc (1.6.0)
|
105
|
-
rack (2.2.3)
|
128
|
+
rack (2.2.3.1)
|
106
129
|
rack-test (1.1.0)
|
107
130
|
rack (>= 1.0, < 3)
|
108
|
-
rails (7.0.
|
109
|
-
actioncable (= 7.0.
|
110
|
-
actionmailbox (= 7.0.
|
111
|
-
actionmailer (= 7.0.
|
112
|
-
actionpack (= 7.0.
|
113
|
-
actiontext (= 7.0.
|
114
|
-
actionview (= 7.0.
|
115
|
-
activejob (= 7.0.
|
116
|
-
activemodel (= 7.0.
|
117
|
-
activerecord (= 7.0.
|
118
|
-
activestorage (= 7.0.
|
119
|
-
activesupport (= 7.0.
|
131
|
+
rails (7.0.3)
|
132
|
+
actioncable (= 7.0.3)
|
133
|
+
actionmailbox (= 7.0.3)
|
134
|
+
actionmailer (= 7.0.3)
|
135
|
+
actionpack (= 7.0.3)
|
136
|
+
actiontext (= 7.0.3)
|
137
|
+
actionview (= 7.0.3)
|
138
|
+
activejob (= 7.0.3)
|
139
|
+
activemodel (= 7.0.3)
|
140
|
+
activerecord (= 7.0.3)
|
141
|
+
activestorage (= 7.0.3)
|
142
|
+
activesupport (= 7.0.3)
|
120
143
|
bundler (>= 1.15.0)
|
121
|
-
railties (= 7.0.
|
144
|
+
railties (= 7.0.3)
|
122
145
|
rails-dom-testing (2.0.3)
|
123
146
|
activesupport (>= 4.2.0)
|
124
147
|
nokogiri (>= 1.6)
|
125
148
|
rails-html-sanitizer (1.4.2)
|
126
149
|
loofah (~> 2.3)
|
127
|
-
railties (7.0.
|
128
|
-
actionpack (= 7.0.
|
129
|
-
activesupport (= 7.0.
|
150
|
+
railties (7.0.3)
|
151
|
+
actionpack (= 7.0.3)
|
152
|
+
activesupport (= 7.0.3)
|
130
153
|
method_source
|
131
154
|
rake (>= 12.2)
|
132
155
|
thor (~> 1.0)
|
133
156
|
zeitwerk (~> 2.5)
|
134
|
-
rainbow (3.
|
157
|
+
rainbow (3.1.1)
|
135
158
|
rake (13.0.6)
|
136
159
|
rchardet (1.8.0)
|
137
|
-
regexp_parser (2.
|
160
|
+
regexp_parser (2.5.0)
|
138
161
|
rexml (3.2.5)
|
139
|
-
rspec (3.
|
140
|
-
rspec-core (~> 3.
|
141
|
-
rspec-expectations (~> 3.
|
142
|
-
rspec-mocks (~> 3.
|
143
|
-
rspec-core (3.
|
144
|
-
rspec-support (~> 3.
|
145
|
-
rspec-expectations (3.
|
162
|
+
rspec (3.11.0)
|
163
|
+
rspec-core (~> 3.11.0)
|
164
|
+
rspec-expectations (~> 3.11.0)
|
165
|
+
rspec-mocks (~> 3.11.0)
|
166
|
+
rspec-core (3.11.0)
|
167
|
+
rspec-support (~> 3.11.0)
|
168
|
+
rspec-expectations (3.11.0)
|
146
169
|
diff-lcs (>= 1.2.0, < 2.0)
|
147
|
-
rspec-support (~> 3.
|
170
|
+
rspec-support (~> 3.11.0)
|
148
171
|
rspec-its (1.3.0)
|
149
172
|
rspec-core (>= 3.0.0)
|
150
173
|
rspec-expectations (>= 3.0.0)
|
151
|
-
rspec-mocks (3.
|
174
|
+
rspec-mocks (3.11.1)
|
152
175
|
diff-lcs (>= 1.2.0, < 2.0)
|
153
|
-
rspec-support (~> 3.
|
154
|
-
rspec-rails (5.
|
176
|
+
rspec-support (~> 3.11.0)
|
177
|
+
rspec-rails (5.1.2)
|
155
178
|
actionpack (>= 5.2)
|
156
179
|
activesupport (>= 5.2)
|
157
180
|
railties (>= 5.2)
|
@@ -159,43 +182,47 @@ GEM
|
|
159
182
|
rspec-expectations (~> 3.10)
|
160
183
|
rspec-mocks (~> 3.10)
|
161
184
|
rspec-support (~> 3.10)
|
162
|
-
rspec-support (3.
|
163
|
-
rubocop (1.
|
185
|
+
rspec-support (3.11.0)
|
186
|
+
rubocop (1.30.0)
|
164
187
|
parallel (~> 1.10)
|
165
|
-
parser (>= 3.
|
188
|
+
parser (>= 3.1.0.0)
|
166
189
|
rainbow (>= 2.2.2, < 4.0)
|
167
190
|
regexp_parser (>= 1.8, < 3.0)
|
168
|
-
rexml
|
169
|
-
rubocop-ast (>= 1.
|
191
|
+
rexml (>= 3.2.5, < 4.0)
|
192
|
+
rubocop-ast (>= 1.18.0, < 2.0)
|
170
193
|
ruby-progressbar (~> 1.7)
|
171
194
|
unicode-display_width (>= 1.4.0, < 3.0)
|
172
|
-
rubocop-ast (1.
|
173
|
-
parser (>= 3.
|
174
|
-
rubocop-performance (1.
|
195
|
+
rubocop-ast (1.18.0)
|
196
|
+
parser (>= 3.1.1.0)
|
197
|
+
rubocop-performance (1.14.0)
|
175
198
|
rubocop (>= 1.7.0, < 2.0)
|
176
199
|
rubocop-ast (>= 0.4.0)
|
177
|
-
rubocop-rails (2.
|
200
|
+
rubocop-rails (2.14.2)
|
178
201
|
activesupport (>= 4.2.0)
|
179
202
|
rack (>= 1.1)
|
180
203
|
rubocop (>= 1.7.0, < 2.0)
|
181
|
-
rubocop-rspec (2.
|
204
|
+
rubocop-rspec (2.11.1)
|
182
205
|
rubocop (~> 1.19)
|
183
206
|
ruby-progressbar (1.11.0)
|
184
207
|
scanf (1.0.0)
|
185
208
|
sqlite3 (1.4.2)
|
186
209
|
sqlite3-ruby (1.3.3)
|
187
210
|
sqlite3 (>= 1.3.3)
|
188
|
-
|
211
|
+
strscan (3.0.3)
|
212
|
+
thor (1.2.1)
|
213
|
+
timeout (0.3.0)
|
189
214
|
tzinfo (2.0.4)
|
190
215
|
concurrent-ruby (~> 1.0)
|
191
216
|
unicode-display_width (2.1.0)
|
192
217
|
websocket-driver (0.7.5)
|
193
218
|
websocket-extensions (>= 0.1.0)
|
194
219
|
websocket-extensions (0.1.5)
|
195
|
-
zeitwerk (2.5.
|
220
|
+
zeitwerk (2.5.4)
|
196
221
|
|
197
222
|
PLATFORMS
|
198
223
|
arm64-darwin-20
|
224
|
+
arm64-darwin-21
|
225
|
+
x86_64-linux
|
199
226
|
|
200
227
|
DEPENDENCIES
|
201
228
|
geokit
|
@@ -214,4 +241,4 @@ DEPENDENCIES
|
|
214
241
|
sqlite3-ruby
|
215
242
|
|
216
243
|
BUNDLED WITH
|
217
|
-
2.
|
244
|
+
2.3.15
|
data/README.md
CHANGED
@@ -140,10 +140,9 @@ Rack::Request#mobile.position に位置情報が格納されます。
|
|
140
140
|
@longuitude = request.mobile.position.lon
|
141
141
|
```
|
142
142
|
|
143
|
-
#### [GeoKit](
|
143
|
+
#### [GeoKit](https://github.com/geokit/geokit) との連携
|
144
144
|
|
145
|
-
vendor/plugins/geokit以下にGeoKitがインストールされていると、Jpmobile::PositionにGeoKit::
|
146
|
-
eがincludeされる。したがって、
|
145
|
+
vendor/plugins/geokit以下にGeoKitがインストールされていると、Jpmobile::PositionにGeoKit::Mappableがincludeされる。したがって、
|
147
146
|
|
148
147
|
```ruby
|
149
148
|
request.mobile.position.distance_to('札幌駅')
|
@@ -295,6 +294,28 @@ def index
|
|
295
294
|
end
|
296
295
|
```
|
297
296
|
|
297
|
+
### アクション定義の省略
|
298
|
+
|
299
|
+
Railsでは、アクション名に対応するテンプレートが存在する場合、アクション用のメソッド定義を省略できる。
|
300
|
+
|
301
|
+
しかし、端末向けテンプレートしか存在しないアクションの場合、jpmobileではメソッド定義を省略することを許していない。
|
302
|
+
|
303
|
+
```ruby
|
304
|
+
class MyController < ApplicationController
|
305
|
+
# app/views/my/index_smart_phone.html.erb がある場合でも、次のメソッド定義は必須。
|
306
|
+
def index
|
307
|
+
end
|
308
|
+
end
|
309
|
+
```
|
310
|
+
|
311
|
+
次のように設定を加えると、これを省略できるようになる。
|
312
|
+
|
313
|
+
```ruby
|
314
|
+
class MyController < ApplicationController
|
315
|
+
include Jpmobile::MethodLessActionSupport
|
316
|
+
end
|
317
|
+
```
|
318
|
+
|
298
319
|
### 位置情報の取得用リンクの生成
|
299
320
|
|
300
321
|
以下のようなコードで、端末に位置情報を要求するリンクを出力する。
|
data/Rakefile
CHANGED
@@ -21,7 +21,7 @@ namespace :test do
|
|
21
21
|
'jpmobile-ipaddresses',
|
22
22
|
'jpmobile-terminfo',
|
23
23
|
]
|
24
|
-
github_prefix = '
|
24
|
+
github_prefix = 'https://github.com/jpmobile'
|
25
25
|
vendor_path = Pathname.new(Dir.pwd).join('vendor')
|
26
26
|
FileUtils.mkdir_p(vendor_path)
|
27
27
|
|
data/jpmobile.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.test_files = gem.files.grep(%r{^(test|spec|system)/})
|
17
17
|
gem.require_paths = ['lib']
|
18
18
|
|
19
|
-
gem.required_ruby_version = '>=
|
19
|
+
gem.required_ruby_version = '>= 2.7.0'
|
20
20
|
|
21
21
|
gem.add_dependency 'mail', '~> 2.7.0'
|
22
22
|
gem.add_dependency 'rexml'
|
@@ -30,4 +30,5 @@ Gem::Specification.new do |gem|
|
|
30
30
|
gem.add_development_dependency 'rspec-its'
|
31
31
|
gem.add_development_dependency 'rspec-rails'
|
32
32
|
gem.add_development_dependency 'sqlite3-ruby'
|
33
|
+
gem.metadata['rubygems_mfa_required'] = 'true'
|
33
34
|
end
|
data/lib/jpmobile/datum_conv.rb
CHANGED
@@ -19,11 +19,11 @@ module DatumConv
|
|
19
19
|
l = l_deg * Deg2Rad
|
20
20
|
|
21
21
|
e2 = f * (2 - f)
|
22
|
-
n = a / Math.sqrt(1 - e2 * Math.sin(b)**2)
|
22
|
+
n = a / Math.sqrt(1 - (e2 * (Math.sin(b)**2)))
|
23
23
|
|
24
24
|
x = (n + he) * Math.cos(b) * Math.cos(l)
|
25
25
|
y = (n + he) * Math.cos(b) * Math.sin(l)
|
26
|
-
z = (n * (1 - e2) + he) * Math.sin(b)
|
26
|
+
z = ((n * (1 - e2)) + he) * Math.sin(b)
|
27
27
|
return x, y, z
|
28
28
|
end
|
29
29
|
|
@@ -34,12 +34,12 @@ module DatumConv
|
|
34
34
|
e2 = f * (2 - f)
|
35
35
|
l = Math.atan2(y, x)
|
36
36
|
|
37
|
-
p = Math.sqrt(x**2 + y**2)
|
38
|
-
r = Math.sqrt(p**2 + z**2)
|
39
|
-
u = Math.atan2(z * ((1 - f) + e2 * a / r), p)
|
40
|
-
b = Math.atan2(z * (1 - f) + e2 * a * Math.sin(u)**3, (1 - f) * (p - e2 * a * Math.cos(u)**3))
|
37
|
+
p = Math.sqrt((x**2) + (y**2))
|
38
|
+
r = Math.sqrt((p**2) + (z**2))
|
39
|
+
u = Math.atan2(z * ((1 - f) + (e2 * a / r)), p)
|
40
|
+
b = Math.atan2((z * (1 - f)) + (e2 * a * (Math.sin(u)**3)), (1 - f) * (p - (e2 * a * (Math.cos(u)**3))))
|
41
41
|
|
42
|
-
he = p * Math.cos(b) + z * Math.sin(b) - a * Math.sqrt(1 - e2 * Math.sin(b)**2)
|
42
|
+
he = (p * Math.cos(b)) + (z * Math.sin(b)) - (a * Math.sqrt(1 - (e2 * (Math.sin(b)**2))))
|
43
43
|
|
44
44
|
b_deg = b / Deg2Rad
|
45
45
|
l_deg = l / Deg2Rad
|
data/lib/jpmobile/email.rb
CHANGED
@@ -10,7 +10,7 @@ module Jpmobile
|
|
10
10
|
def detect(email)
|
11
11
|
Mobile.carriers.each do |const|
|
12
12
|
c = Mobile.const_get(const)
|
13
|
-
return c if c::MAIL_ADDRESS_REGEXP && email.match(/^#{c::MAIL_ADDRESS_REGEXP}$/)
|
13
|
+
return c if c::MAIL_ADDRESS_REGEXP && email.match(/^#{c::MAIL_ADDRESS_REGEXP}$/) # rubocop:disable Performance/ConstantRegexp
|
14
14
|
end
|
15
15
|
nil
|
16
16
|
end
|
@@ -21,7 +21,7 @@ module Jpmobile
|
|
21
21
|
c = Mobile.const_get(const)
|
22
22
|
if c::MAIL_ADDRESS_REGEXP &&
|
23
23
|
header.match(/(\S+@[A-Za-z0-9\-._]+)/) &&
|
24
|
-
Regexp.last_match(1).match(/^#{c::MAIL_ADDRESS_REGEXP}$/)
|
24
|
+
Regexp.last_match(1).match(/^#{c::MAIL_ADDRESS_REGEXP}$/) # rubocop:disable Performance/ConstantRegexp
|
25
25
|
return c
|
26
26
|
end
|
27
27
|
end
|
@@ -8,10 +8,10 @@ module Jpmobile
|
|
8
8
|
begin
|
9
9
|
expected_view_file = lookup_context.find_template(options[:template], options[:prefixes])
|
10
10
|
|
11
|
-
_candidates = lookup_context.mobile.
|
11
|
+
_candidates = lookup_context.mobile.filter_map do |variant|
|
12
12
|
target_template = options[:template] + '_' + variant
|
13
13
|
expected_view_file.virtual_path.match(target_template)
|
14
|
-
|
14
|
+
end
|
15
15
|
|
16
16
|
if _candidates.empty?
|
17
17
|
lookup_context.mobile = []
|
data/lib/jpmobile/filter.rb
CHANGED
@@ -42,6 +42,8 @@ module Jpmobile
|
|
42
42
|
Regexp.escape('application/xhtml+xm'),
|
43
43
|
)
|
44
44
|
|
45
|
+
CONVERT_TARGET_ELEMENTS = %w[submit reset button].freeze
|
46
|
+
|
45
47
|
class << self
|
46
48
|
def hankaku_format(str)
|
47
49
|
replace_chars(str, zen_to_han_table)
|
@@ -149,7 +151,7 @@ module Jpmobile
|
|
149
151
|
# textarea 以外のテキストなら content を変換
|
150
152
|
element.content = filter(:hankaku, element.content)
|
151
153
|
end
|
152
|
-
elsif (element.node_name == 'input') &&
|
154
|
+
elsif (element.node_name == 'input') && CONVERT_TARGET_ELEMENTS.include?(element['type'])
|
153
155
|
# テキスト以外でもボタンの value は変換
|
154
156
|
element['value'] = filter(:hankaku, element['value'])
|
155
157
|
elsif element.children.any?
|
data/lib/jpmobile/mail.rb
CHANGED
@@ -55,7 +55,7 @@ module Mail
|
|
55
55
|
|
56
56
|
def parse_message_with_jpmobile
|
57
57
|
_crlf_raw_source = raw_source.encode(raw_source.encoding, universal_newline: true).encode!(raw_source.encoding, crlf_newline: true)
|
58
|
-
header_part, body_part = _crlf_raw_source.lstrip.split(/#{CRLF}#{CRLF}|#{CRLF}#{WSP}*#{CRLF}(?!#{WSP})/
|
58
|
+
header_part, body_part = _crlf_raw_source.lstrip.split(/#{CRLF}#{CRLF}|#{CRLF}#{WSP}*#{CRLF}(?!#{WSP})/mo, 2)
|
59
59
|
# header_part, body_part = raw_source.lstrip.split(HEADER_SEPARATOR, 2)
|
60
60
|
|
61
61
|
self.header = header_part
|
@@ -277,7 +277,7 @@ module Mail
|
|
277
277
|
end
|
278
278
|
|
279
279
|
def parse_message_with_jpmobile
|
280
|
-
header_part, body_part = raw_source.split(/#{CRLF}#{WSP}*#{CRLF}/
|
280
|
+
header_part, body_part = raw_source.split(/#{CRLF}#{WSP}*#{CRLF}/mo, 2)
|
281
281
|
|
282
282
|
self.header = if header_part && header_part.match(HEADER_LINE)
|
283
283
|
header_part
|
data/lib/jpmobile/mailer.rb
CHANGED
@@ -242,7 +242,7 @@ module Jpmobile::Mobile
|
|
242
242
|
end
|
243
243
|
|
244
244
|
def ip_address_class
|
245
|
-
Object.const_get("::Jpmobile::Mobile::IpAddresses::#{self.to_s.split(
|
245
|
+
Object.const_get("::Jpmobile::Mobile::IpAddresses::#{self.to_s.split("::").last}").new
|
246
246
|
rescue
|
247
247
|
nil
|
248
248
|
end
|