require ‘optparse’ require ‘ribbon/intercom’ require ‘json’
namespace :intercom do
namespace :client do task :rotate_secret, [:service] => :environment do |t, args| service = args[:service] puts "New #{service} secret: #{Intercom[service].rotate_secret}" end end namespace :service do task :open_channel, [:service_name, :channel_name, :permissions] => :environment do |t, args| service = Intercom::Utils.classify(args[:service_name]) channel_name = args[:channel_name] permissions = args[:permissions].split(" ") channel = Intercom::const_get(service).open_channel(name: channel_name, may: permissions) secret = channel.rotate_secret! puts "New channel: #{channel_name} with token: #{channel.token} and secret: #{secret} with permissions: #{channel.permissions.to_a.inspect}" end end
end