Skip to content

Commit 58017e4

Browse files
committed
NO-ISSUE Merge branch 'master' into steep-http-client
2 parents b4225c3 + c901699 commit 58017e4

350 files changed

Lines changed: 980 additions & 951 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ group :development, :test do
1010
gem 'rack', '~> 3.0'
1111
gem 'rbs', '~> 3.9.2'
1212
gem 'rubocop', '~> 1.75.0', require: false
13+
gem 'steep', '~> 1.10.0'
1314
gem 'webrick', '~> 1.9.1'
1415
gem 'yard', '~> 0.9.20'
1516
end

Gemfile.lock

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,51 @@ PATH
77
GEM
88
remote: https://rubygems.org/
99
specs:
10+
activesupport (8.0.2)
11+
base64
12+
benchmark (>= 0.3)
13+
bigdecimal
14+
concurrent-ruby (~> 1.0, >= 1.3.1)
15+
connection_pool (>= 2.2.5)
16+
drb
17+
i18n (>= 1.6, < 2)
18+
logger (>= 1.4.2)
19+
minitest (>= 5.1)
20+
securerandom (>= 0.3)
21+
tzinfo (~> 2.0, >= 2.0.5)
22+
uri (>= 0.13.1)
1023
addressable (2.8.7)
1124
public_suffix (>= 2.0.2, < 7.0)
1225
ast (2.4.3)
26+
base64 (0.2.0)
27+
benchmark (0.4.0)
1328
bigdecimal (3.1.9)
29+
concurrent-ruby (1.3.5)
30+
connection_pool (2.5.0)
1431
crack (1.0.0)
1532
bigdecimal
1633
rexml
34+
csv (3.3.3)
1735
diff-lcs (1.5.1)
36+
drb (2.2.1)
37+
ffi (1.17.1-arm64-darwin)
38+
ffi (1.17.1-x86_64-linux-gnu)
39+
fileutils (1.7.3)
1840
hashdiff (1.1.2)
41+
i18n (1.14.7)
42+
concurrent-ruby (~> 1.0)
1943
json (2.10.2)
2044
language_server-protocol (3.17.0.4)
2145
lint_roller (1.1.0)
2246
logger (1.7.0)
47+
listen (3.9.0)
48+
rb-fsevent (~> 0.10, >= 0.10.3)
49+
rb-inotify (~> 0.9, >= 0.9.10)
50+
minitest (5.25.5)
2351
multipart-post (2.4.1)
2452
net-http (0.6.0)
2553
uri
54+
mutex_m (0.3.0)
2655
parallel (1.26.3)
2756
parser (3.3.7.4)
2857
ast (~> 2.4.1)
@@ -33,6 +62,9 @@ GEM
3362
rack (3.1.12)
3463
rainbow (3.1.1)
3564
rake (13.2.1)
65+
rb-fsevent (0.11.2)
66+
rb-inotify (0.11.1)
67+
ffi (~> 1.0)
3668
rbs (3.9.2)
3769
logger
3870
regexp_parser (2.10.0)
@@ -65,6 +97,29 @@ GEM
6597
parser (>= 3.3.7.2)
6698
prism (~> 1.4)
6799
ruby-progressbar (1.13.0)
100+
securerandom (0.4.1)
101+
steep (1.10.0)
102+
activesupport (>= 5.1)
103+
concurrent-ruby (>= 1.1.10)
104+
csv (>= 3.0.9)
105+
fileutils (>= 1.1.0)
106+
json (>= 2.1.0)
107+
language_server-protocol (>= 3.17.0.4, < 4.0)
108+
listen (~> 3.0)
109+
logger (>= 1.3.0)
110+
mutex_m (>= 0.3.0)
111+
parser (>= 3.1)
112+
rainbow (>= 2.2.2, < 4.0)
113+
rbs (~> 3.9)
114+
securerandom (>= 0.1)
115+
strscan (>= 1.0.0)
116+
terminal-table (>= 2, < 5)
117+
uri (>= 0.12.0)
118+
strscan (3.1.2)
119+
terminal-table (4.0.0)
120+
unicode-display_width (>= 1.1.1, < 4)
121+
tzinfo (2.0.6)
122+
concurrent-ruby (~> 1.0)
68123
unicode-display_width (3.1.4)
69124
unicode-emoji (~> 4.0, >= 4.0.4)
70125
unicode-emoji (4.0.4)
@@ -91,6 +146,7 @@ DEPENDENCIES
91146
rbs (~> 3.9.2)
92147
rspec (~> 3.13.0)
93148
rubocop (~> 1.75.0)
149+
steep (~> 1.10.0)
94150
webmock (~> 3.25.0)
95151
webrick (~> 1.9.1)
96152
yard (~> 0.9.20)

Steepfile

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
D = Steep::Diagnostic
2+
3+
target :lib do
4+
signature "sig/line/bot/v2"
5+
6+
check "lib/line/bot/v2"
7+
# ignore "lib/templates/*.rb"
8+
9+
# library "pathname" # Standard libraries
10+
# library "strong_json" # Gems
11+
library "net-http"
12+
13+
# configure_code_diagnostics(D::Ruby.default) # `default` diagnostics setting (applies by default)
14+
# configure_code_diagnostics(D::Ruby.strict) # `strict` diagnostics setting
15+
# configure_code_diagnostics(D::Ruby.lenient) # `lenient` diagnostics setting
16+
# configure_code_diagnostics(D::Ruby.silent) # `silent` diagnostics setting
17+
# configure_code_diagnostics do |hash| # You can setup everything yourself
18+
# hash[D::Ruby::NoMethod] = :information
19+
# end
20+
end
21+
22+
target :test do
23+
unreferenced! # Skip type checking the `lib` code when types in `test` target is changed
24+
signature "sig/test" # Put RBS files for tests under `sig/test`
25+
check "test" # Type check Ruby scripts under `test`
26+
27+
configure_code_diagnostics(D::Ruby.lenient) # Weak type checking for test code
28+
29+
# library "pathname" # Standard libraries
30+
end

generator/src/main/resources/line-bot-sdk-ruby-generator/api.pebble

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ module Line
114114
json.transform_keys! do |key|
115115
Line::Bot::V2::RESERVED_WORDS.include?(key) ? "_#{key}".to_sym : key
116116
end
117-
Line::Bot::V2::{{ packageName | camelize }}::{{ response.content['application/json'].schema.complexType }}.new(**json)
117+
Line::Bot::V2::{{ packageName | camelize }}::{{ response.content['application/json'].schema.complexType }}.new(**json) # steep:ignore InsufficientKeywordArguments
118118
{%- else %}
119119
response.body
120120
{%- endif %}{% endfor %}

generator/src/main/resources/line-bot-sdk-ruby-generator/model.pebble

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ module Line
8080
end
8181
end
8282
{%- elseif property.isModel -%}
83-
@{{ property.name }} = {{ property.name }}.is_a?(Line::Bot::V2::{{ packageName | camelize }}::{{ property.baseType }}){% if not property.required %} || {{ property.name }}.nil?{% endif %} ? {{ property.name }} : Line::Bot::V2::{{ packageName | camelize }}::{{ property.baseType }}.create(**{{ property.name }})
83+
@{{ property.name }} = {{ property.name }}.is_a?(Line::Bot::V2::{{ packageName | camelize }}::{{ property.baseType }}){% if not property.required %} || {{ property.name }}.nil?{% endif %} ? {{ property.name }} : Line::Bot::V2::{{ packageName | camelize }}::{{ property.baseType }}.create(**{{ property.name }}) # steep:ignore
8484
{%- elseif model.model.vendorExtensions.get("x-selector").propertyName != property.name -%}
8585
@{{ property.name }} = {{ property.name }}
8686
{%- endif -%}
@@ -99,17 +99,18 @@ module Line
9999
end
100100
end
101101

102-
def self.create(args){% if model.model.vendorExtensions.get("x-children") != null and model.model.vendorExtensions.get("x-discriminator-property") != null %}
103-
klass = detect_class(args[:{{ model.model.vendorExtensions.get("x-discriminator-property") }}])
104-
return klass.new(**args) if klass
105-
{% endif %}
106-
return new(**args)
102+
def self.create(args) # steep:ignore
103+
{%- if model.model.vendorExtensions.get("x-children") != null and model.model.vendorExtensions.get("x-discriminator-property") != null %}
104+
klass = detect_class(type: args[:{{ model.model.vendorExtensions.get("x-discriminator-property") }}])
105+
return klass.new(**args) if klass # steep:ignore
106+
{%- endif %}
107+
return new(**args) # steep:ignore
107108
end
108109
{%- if model.model.vendorExtensions.get("x-children") != null %}
109110

110111
private
111112

112-
def self.detect_class(type)
113+
def self.detect_class(type:)
113114
{
114115
{%- for child in model.model.vendorExtensions.get("x-children") %}
115116
{{ child.typeName }}: Line::Bot::V2::{{ packageName | camelize }}::{{ child.className }},

generator/src/main/resources/line-bot-sdk-ruby-rbs-generator/model.pebble

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ module Line
3838
{% endfor %}
3939
def initialize: (
4040
{% for variable in model.model.vars -%}
41-
{% if model.model.vendorExtensions.get("x-selector").propertyName != variable.name or packageName == 'webhook' -%}
41+
{% if model.model.vendorExtensions.get("x-selector").propertyName != variable.name -%}
4242
{% if variable.openApiType == 'array' -%}
4343
{% if variable.items.isModel -%}
4444
{{ variable.name }}: {{ "Array[#{variable.items.openApiType}]" }}{% if not variable.required %}?{% endif -%}

lib/line/bot/v2/channel_access_token/api/channel_access_token_client.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def gets_all_valid_channel_access_token_key_ids_with_http_info(
6969
json.transform_keys! do |key|
7070
Line::Bot::V2::RESERVED_WORDS.include?(key) ? "_#{key}".to_sym : key
7171
end
72-
Line::Bot::V2::ChannelAccessToken::ChannelAccessTokenKeyIdsResponse.new(**json)
72+
Line::Bot::V2::ChannelAccessToken::ChannelAccessTokenKeyIdsResponse.new(**json) # steep:ignore InsufficientKeywordArguments
7373
else
7474
response.body
7575
end
@@ -131,13 +131,13 @@ def issue_channel_token_with_http_info(
131131
json.transform_keys! do |key|
132132
Line::Bot::V2::RESERVED_WORDS.include?(key) ? "_#{key}".to_sym : key
133133
end
134-
Line::Bot::V2::ChannelAccessToken::IssueShortLivedChannelAccessTokenResponse.new(**json)
134+
Line::Bot::V2::ChannelAccessToken::IssueShortLivedChannelAccessTokenResponse.new(**json) # steep:ignore InsufficientKeywordArguments
135135
when 400
136136
json = Line::Bot::V2::Utils.deep_underscore(JSON.parse(response.body))
137137
json.transform_keys! do |key|
138138
Line::Bot::V2::RESERVED_WORDS.include?(key) ? "_#{key}".to_sym : key
139139
end
140-
Line::Bot::V2::ChannelAccessToken::ErrorResponse.new(**json)
140+
Line::Bot::V2::ChannelAccessToken::ErrorResponse.new(**json) # steep:ignore InsufficientKeywordArguments
141141
else
142142
response.body
143143
end
@@ -202,7 +202,7 @@ def issue_channel_token_by_jwt_with_http_info(
202202
json.transform_keys! do |key|
203203
Line::Bot::V2::RESERVED_WORDS.include?(key) ? "_#{key}".to_sym : key
204204
end
205-
Line::Bot::V2::ChannelAccessToken::IssueChannelAccessTokenResponse.new(**json)
205+
Line::Bot::V2::ChannelAccessToken::IssueChannelAccessTokenResponse.new(**json) # steep:ignore InsufficientKeywordArguments
206206
else
207207
response.body
208208
end
@@ -272,7 +272,7 @@ def issue_stateless_channel_token_with_http_info(
272272
json.transform_keys! do |key|
273273
Line::Bot::V2::RESERVED_WORDS.include?(key) ? "_#{key}".to_sym : key
274274
end
275-
Line::Bot::V2::ChannelAccessToken::IssueStatelessChannelAccessTokenResponse.new(**json)
275+
Line::Bot::V2::ChannelAccessToken::IssueStatelessChannelAccessTokenResponse.new(**json) # steep:ignore InsufficientKeywordArguments
276276
else
277277
response.body
278278
end
@@ -444,7 +444,7 @@ def verify_channel_token_with_http_info(
444444
json.transform_keys! do |key|
445445
Line::Bot::V2::RESERVED_WORDS.include?(key) ? "_#{key}".to_sym : key
446446
end
447-
Line::Bot::V2::ChannelAccessToken::VerifyChannelAccessTokenResponse.new(**json)
447+
Line::Bot::V2::ChannelAccessToken::VerifyChannelAccessTokenResponse.new(**json) # steep:ignore InsufficientKeywordArguments
448448
else
449449
response.body
450450
end
@@ -495,7 +495,7 @@ def verify_channel_token_by_jwt_with_http_info(
495495
json.transform_keys! do |key|
496496
Line::Bot::V2::RESERVED_WORDS.include?(key) ? "_#{key}".to_sym : key
497497
end
498-
Line::Bot::V2::ChannelAccessToken::VerifyChannelAccessTokenResponse.new(**json)
498+
Line::Bot::V2::ChannelAccessToken::VerifyChannelAccessTokenResponse.new(**json) # steep:ignore InsufficientKeywordArguments
499499
else
500500
response.body
501501
end

lib/line/bot/v2/channel_access_token/model/channel_access_token_key_ids_response.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ def initialize(
4545
end
4646
end
4747

48-
def self.create(args)
49-
return new(**args)
48+
def self.create(args) # steep:ignore
49+
return new(**args) # steep:ignore
5050
end
5151
end
5252
end

lib/line/bot/v2/channel_access_token/model/error_response.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ def initialize(
4444
end
4545
end
4646

47-
def self.create(args)
48-
return new(**args)
47+
def self.create(args) # steep:ignore
48+
return new(**args) # steep:ignore
4949
end
5050
end
5151
end

lib/line/bot/v2/channel_access_token/model/issue_channel_access_token_response.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ def initialize(
5757
end
5858
end
5959

60-
def self.create(args)
61-
return new(**args)
60+
def self.create(args) # steep:ignore
61+
return new(**args) # steep:ignore
6262
end
6363
end
6464
end

0 commit comments

Comments
 (0)