class Ribose::CLI::Commands::Message

Public Instance Methods

add() click to toggle source
# File lib/ribose/cli/commands/message.rb, line 19
def add
  message = create_message(options)
  say("Messge has been posted! Id: " + message.id)
end
list() click to toggle source
# File lib/ribose/cli/commands/message.rb, line 10
def list
  say(build_output(list_messages, options))
end
remove() click to toggle source
# File lib/ribose/cli/commands/message.rb, line 40
def remove
  remove_message(options)
  say("The message has been removed!")
rescue
  say("Please provide a valid message UUID")
end
update() click to toggle source
# File lib/ribose/cli/commands/message.rb, line 30
def update
  update_message(options)
  say("Messge has been updated!")
end

Private Instance Methods

create_message(options) click to toggle source
# File lib/ribose/cli/commands/message.rb, line 56
def create_message(options)
  Ribose::Message.create(
    space_id: options[:space_id],
    contents: options[:message_body],
    conversation_id: options[:conversation_id],
  )
end
list_messages() click to toggle source
# File lib/ribose/cli/commands/message.rb, line 49
def list_messages
  @messages ||= Ribose::Message.all(
    space_id: options[:space_id],
    conversation_id: options[:conversation_id],
  )
end
remove_message(options) click to toggle source
# File lib/ribose/cli/commands/message.rb, line 73
def remove_message(options)
  Ribose::Message.remove(
    space_id: options[:space_id],
    message_id: options[:message_id],
    conversation_id: options[:conversation_id],
  )
end
sanitize(content, length = 30) click to toggle source
# File lib/ribose/cli/commands/message.rb, line 81
def sanitize(content, length = 30)
  content = content.to_s.gsub(/<\/?[^>]*>/, "")
  Ribose::CLI::Util.truncate(content, length)
end
table_headers() click to toggle source
# File lib/ribose/cli/commands/message.rb, line 86
def table_headers
  ["ID", "User", "Message"]
end
table_rows(messages) click to toggle source
# File lib/ribose/cli/commands/message.rb, line 90
def table_rows(messages)
  messages.map do |message|
    [message.id, message.user.name, sanitize(message.contents)]
  end
end
update_message(options) click to toggle source
# File lib/ribose/cli/commands/message.rb, line 64
def update_message(options)
  Ribose::Message.update(
    space_id: options[:space_id],
    message_id: options[:message_id],
    contents: options[:message_body],
    conversation_id: options[:conversation_id],
  )
end