Sha256: 06034a48e37862fc75d84dc1923d954970233bafe053a47270efd5e9496695aa

Contents?: true

Size: 937 Bytes

Versions: 81

Compression:

Stored size: 937 Bytes

Contents

# encoding: utf-8

class HighLine
  class Menu < Question
    # Represents an Item of a HighLine::Menu.
    #
    class Item
      attr_reader :name, :text, :help, :action

      #
      # @param name [String] The name that is matched against the user input
      # @param attributes [Hash] options Hash to tailor menu item to your needs
      # @option attributes text: [String] The text that displays for that
      #   choice (defaults to name)
      # @option attributes help: [String] help/hint string to be displayed.
      # @option attributes action: [Block] a block that gets called when choice
      #   is selected
      #
      def initialize(name, attributes)
        @name = name
        @text = attributes[:text] || @name
        @help = attributes[:help]
        @action = attributes[:action]
      end

      def item_help
        return {} unless help
        { name.to_s.downcase => help }
      end
    end
  end
end

Version data entries

81 entries across 67 versions & 4 rubygems

Version Path
highline-3.1.2 lib/highline/menu/item.rb
brakeman-7.0.0 bundle/ruby/3.1.0/gems/highline-3.1.1/lib/highline/menu/item.rb
brakeman-6.2.2 bundle/ruby/3.1.0/gems/highline-3.1.1/lib/highline/menu/item.rb
brakeman-6.2.2.rc1 bundle/ruby/3.3.0/gems/highline-3.1.1/lib/highline/menu/item.rb
highline-3.1.1 lib/highline/menu/item.rb
brakeman-6.2.1 bundle/ruby/3.1.0/gems/highline-3.1.0/lib/highline/menu/item.rb
brakeman-6.2.0 bundle/ruby/3.1.0/gems/highline-3.1.0/lib/highline/menu/item.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/highline-3.0.1/lib/highline/menu/item.rb
highline-3.1.0 lib/highline/menu/item.rb
brakeman-6.1.2 bundle/ruby/3.3.0/gems/highline-3.0.1/lib/highline/menu/item.rb
highline-3.0.1 lib/highline/menu/item.rb
highline-3.0.0 lib/highline/menu/item.rb
brakeman-6.1.1 bundle/ruby/3.0.0/gems/highline-2.1.0/lib/highline/menu/item.rb
brakeman-6.1.0 bundle/ruby/3.1.0/gems/highline-2.1.0/lib/highline/menu/item.rb
brakeman-6.0.1 bundle/ruby/3.1.0/gems/highline-2.1.0/lib/highline/menu/item.rb
brakeman-6.0.0 bundle/ruby/3.0.0/gems/highline-2.1.0/lib/highline/menu/item.rb
highline-3.0.0.pre.1 lib/highline/menu/item.rb
brakeman-5.4.1 bundle/ruby/3.1.0/gems/highline-2.1.0/lib/highline/menu/item.rb
highline-2.1.0 lib/highline/menu/item.rb
brakeman-5.4.0 bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/menu/item.rb