class Ruboty::Actions::Help

Public Instance Methods

call() click to toggle source
# File lib/ruboty/actions/help.rb, line 4
def call
  descriptions = filtered_descriptions
  if descriptions.empty?
    message.reply("No description matched to '#{message[:filter]}'")
  else
    message.reply(descriptions.join("\n"), code: true)
  end
end

Private Instance Methods

all_descriptions() click to toggle source
# File lib/ruboty/actions/help.rb, line 25
def all_descriptions
  _descriptions = Ruboty.actions.reject(&:hidden?).sort.map do |action|
    prefix = ""
    prefix << message.robot.name << " " unless  action.all?
    "#{prefix}#{action.pattern.inspect} - #{action.description}"
  end
end
filtered_descriptions() click to toggle source
# File lib/ruboty/actions/help.rb, line 15
def filtered_descriptions
  descriptions = all_descriptions
  if message[:filter]
    descriptions.select! do |description|
      description.include?(message[:filter])
    end
  end
  descriptions
end