Skip to content

Commit 1a8bd62

Browse files
committed
id_for raises more specific errors when they exist
1 parent 4e2880f commit 1a8bd62

File tree

4 files changed

+6
-3
lines changed

4 files changed

+6
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
### 3.1.1 (Next)
22

33
* [#581](https://github.com/slack-ruby/slack-ruby-client/pull/581): Migrate Danger to use danger-pr-comment workflow - [@dblock](https://github.com/dblock).
4+
* [#583](https://github.com/slack-ruby/slack-ruby-client/pull/583): Not found errors raised by id_for use more specific error classes when they exist - [@eizengan](https://github.com/eizengan).
45
* Your contribution here.
56

67
### 3.1.0 (2025/11/15)

lib/slack/web/api/mixins/ids.id.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ def id_for(key:, name:, prefix:, enum_method:, list_method:, options: {})
1515
end
1616
end
1717

18-
raise Slack::Web::Api::Errors::SlackError, "#{key}_not_found"
18+
error_message = "#{key}_not_found"
19+
error_class = Slack::Web::Api::Errors::ERROR_CLASSES[error_message] || Slack::Web::Api::Errors::SlackError
20+
raise error_class, error_message
1921
end
2022
end
2123
end

spec/slack/web/api/mixins/conversations_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959

6060
it 'fails with an exception' do
6161
expect { conversations.conversations_id(channel: '#invalid') }.to(
62-
raise_error(Slack::Web::Api::Errors::SlackError, 'channel_not_found')
62+
raise_error(Slack::Web::Api::Errors::ChannelNotFound, 'channel_not_found')
6363
)
6464
end
6565

spec/slack/web/api/mixins/users_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646

4747
it 'fails with an exception' do
4848
expect { users.users_id(user: '@foo') }.to(
49-
raise_error(Slack::Web::Api::Errors::SlackError, 'user_not_found')
49+
raise_error(Slack::Web::Api::Errors::UserNotFound, 'user_not_found')
5050
)
5151
end
5252

0 commit comments

Comments
 (0)