Sha256: e43c827af27e239b249c150437cfaf00bb315fe6454eb71389c4e6c6e13aa8e4

Contents?: true

Size: 1.77 KB

Versions: 1

Compression:

Stored size: 1.77 KB

Contents

# This file was auto-generated by lib/tasks/web.rake

module Slack
  module Web
    module Api
      module Endpoints
        module <%= group.capitalize %>
<% names.each_with_index do |(name, data), index| %>
<% next if data['mixin'] %>
<% if index > 0 %>

<% end %>
          #
<% data['desc'].split("\n").each do |line| %>
          # <%= line %>
<% end %>
          #
<% data['args'].each do |arg_name, arg_v| %>
          # @option options [<%= arg_v['type'] %>] :<%= arg_name %>
<% arg_v['desc'].lines.each do |l| %>
<% if l.strip.length > 0 %>
          #   <%= l.strip %>
<% else %>
          #
<% end %>
<% end %>
<% end %>
          # @see https://api.slack.com/methods/<%= group %>.<%= name %>
          # @see https://github.com/dblock/slack-api-ref/blob/master/methods/<%= group %>/<%= group %>.<%= name %>.json
          def <%= group %>_<%= name %>(options = {})
<% data['args'].select{ |k, v| v['required'] }.each do |arg_name, arg_v| %>
            throw ArgumentError.new('Required arguments :<%= arg_name %> missing') if options[:<%= arg_name %>].nil?
<% end %>
<% if data['group'] == 'groups' && data['args']['channel'] && !data['args']['channel']['desc'].include?('Can be an encoded ID, or a name.') %>
            options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
<% elsif data['args']['channel'] && !data['args']['channel']['desc'].include?('Can be an encoded ID, or a name.') %>
            options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
<% end %>
<% if data['args']['user'] %>
            options = options.merge(user: users_id(options)['user']['id']) if options[:user]
<% end %>
            post('<%= group %>.<%= name %>', options)
          end
<% end %>
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
slack-ruby-client-0.7.0 lib/slack/web/api/templates/method.erb