dblock/slack-ruby-client

View on GitHub
lib/slack/web/api/templates/command.erb

Summary

Maintainability
Test Coverage
# 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