lib/slack/web/api/templates/command.erb
# frozen_string_literal: true
# This file was auto-generated by lib/tasks/web.rake
module Slack
module Cli
class App
<% desc = group['desc'] || "#{group['name'].gsub(".", "_").camelize} methods." %>
<% if desc.include?("'") %>
desc "<%= desc %>"
<% else %>
desc '<%= desc %>'
<% end %>
command '<%= group['name'].gsub(".", "_") %>' do |g|
<% names.sort.each_with_index do |(name, data), index| %>
<% if index > 0 %>
<% end %>
<% short_desc = data["desc"].split("\n").first %>
<% short_desc += ' (undocumented)' if data['undocumented'] %>
<% if short_desc.include?("'") %>
g.desc "<%= short_desc %>"
<% else %>
g.desc '<%= short_desc %>'
<% end %>
g.long_desc %( <%= data["desc"].split("\n").join(" ") %> )
g.command '<%= name %>' do |c|
<% data["args"].each do |arg_name, arg_v| %>
<% if arg_v["desc"].include?("'") %>
c.flag '<%= arg_name %>', desc: "<%= arg_v["desc"].gsub('"', '\'') %>"
<% else %>
c.flag '<%= arg_name %>', desc: '<%= arg_v["desc"] %>'
<% end %>
<% end %>
c.action do |_global_options, options, _args|
puts JSON.dump(@client.<%=group['name'].gsub(".", "_") %>_<%= name %>(options))
end
end
<% end %>
end
end
end
end