module Slack::Web::Api::Mixins::Ids

Private Instance Methods

id_for(key, name, prefix, list_method, not_found_error) { || ... } click to toggle source
# File lib/slack/web/api/mixins/ids.id.rb, line 8
def id_for(key, name, prefix, list_method, not_found_error)
  return { 'ok' => true, key.to_s => { 'id' => name } } unless name[0] == prefix

  yield.tap do |list|
    list.public_send(list_method).each do |li|
      return Slack::Messages::Message.new('ok' => true, key.to_s => { 'id' => li.id }) if li.name == name[1..-1]
    end