Sha256: f8223a1ceaa9d7cccb4b8b8dabbe646b7a3b26116ae19b03769bf8927cf581bd

Contents?: true

Size: 1.77 KB

Versions: 3

Compression:

Stored size: 1.77 KB

Contents

# This file was auto-generated by lib/slack/web/api/tasks/generate.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 %>.<%= 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

3 entries across 3 versions & 2 rubygems

Version Path
slack-ruby-client-bhe-0.5.5 lib/slack/web/api/templates/method.erb
slack-ruby-client-bhe-0.5.4 lib/slack/web/api/templates/method.erb
slack-ruby-client-0.5.4 lib/slack/web/api/templates/method.erb