class Meshchat::Ui::Command::Import

Public Class Methods

description() click to toggle source
# File lib/meshchat/ui/command/import.rb, line 6
def self.description
  'imports an identity file (formatted as json)'
end

Public Instance Methods

command_valid?() click to toggle source
# File lib/meshchat/ui/command/import.rb, line 32
def command_valid?
  filename.present?
end
filename() click to toggle source
# File lib/meshchat/ui/command/import.rb, line 36
def filename
  sub_command
end
handle() click to toggle source
# File lib/meshchat/ui/command/import.rb, line 10
def handle
  if command_valid?
    node = Node.import_from_file(filename)
    if node.valid? && node.persisted?
      Display.success "#{node.alias_name} successfully imported"

      # send the server list to this new node
      node_list = _message_factory.create(Network::Message::NODE_LIST)
      _message_dispatcher.send_message(node: node, message: node_list)
    else
      Display.alert "#{node.alias_name} is invalid"
      Display.alert node.errors.full_messages.join("\n")
    end
  else
    Display.alert usage
  end
end
usage() click to toggle source
# File lib/meshchat/ui/command/import.rb, line 28
def usage
  'Usage: /import {filename}'
end