class Hipmost::Cmds::Private
Public Class Methods
new(path:, verbose: false)
click to toggle source
# File lib/hipmost/cmds/private.rb, line 4 def initialize(path:, verbose: false) $path = Pathname.new(path).expand_path @outpath = $path.join("..", "Private Chats.jsonl").expand_path @verbose = verbose end
Public Instance Methods
import(args)
click to toggle source
# File lib/hipmost/cmds/private.rb, line 31 def import(args) File.open(@outpath, "w") do |jsonl| puts "Writing version header..." if @verbose jsonl.puts %[{ "type": "version", "version": 1 }] puts "Writing room members..." if @verbose Hipchat.users.each do |_,user| jsonl.puts(user.to_jsonl) end puts "Writing 1-on-1 room members..." if @verbose Hipchat.direct_channels.each do |members| puts members.inspect if @verbose jsonl.puts(%[{ "type": "direct_channel", "direct_channel": { "members": #{members.inspect} }}]) end puts "Writing 1-on-1 room posts (oldest to newest)..." if @verbose Hipchat.direct_posts(jsonl, @verbose) end true end
list(_args)
click to toggle source
# File lib/hipmost/cmds/private.rb, line 22 def list(_args) puts "Listing Private chats" if @verbose Hipchat.direct_channels.each do |members| puts members.inspect end true end
run(args)
click to toggle source
# File lib/hipmost/cmds/private.rb, line 10 def run(args) subcommand = args.shift if ["list", "import"].include?(subcommand) else puts "Command invalid for `private`, must be `import` or `list`" exit 1 end send(subcommand, args) end