Sha256: fffafae6379b8f9112c608141ccde3b5b356c0ed33e617981e117fc21ed6f5bd

Contents?: true

Size: 708 Bytes

Versions: 5

Compression:

Stored size: 708 Bytes

Contents

desc "knows", I18n.t("scripts.knows")
command(/knows/i) do
  im KnownFormmater.new(know_how).format
end

class KnownFormmater
  def initialize(actions)
    @actions = actions
    @descriptions = @actions.map(&:desc)
    @max_size = @descriptions.map(&:command).map(&:length).max
  end

  def format
    @descriptions.inject("```\n") { |message, description|
      message << format_description(description) + "\n"
    } + "```"
  end

  private

  def name(trigger)
    pad = @max_size - trigger.length
    (" " * pad) + trigger
  end

  def format_description(description)
    message = name description.command
    message << ": #{description.description}" if description.description
    message
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
boty-1.0.1 script/knows.rb
boty-1.0.0 script/knows.rb
boty-0.2.0 script/knows.rb
boty-0.1.2 script/knows.rb
boty-0.1.1 script/knows.rb