--- !ruby/object:Gem::Specification name: make_menu version: !ruby/object:Gem::Version version: 0.0.1 platform: ruby authors: - Barri Mason autorequire: bindir: bin cert_chain: [] date: 2023-12-20 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: tty-screen requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: 0.8.2 type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: 0.8.2 description: |2+ Creates a number-selection menu from a Makefile. The menu will attempt to fill the width of the terminal window. - Any targets in the Makefile with a double-hash comment will be displayed, e.g.: serve: ## Start Rails server in background This will display a line such as '1. Start Rails server in background' which runs the command `make serve`. - A line that starts with a triple-hash will create a new menu group, e.g.: ### Docker Commands This will begin a new group with the header 'Docker Commands' - The environment variable MENU can be used to specify a custom menu class, e.g.: export MENU=Accounts This assumes that a class `AccountsMenu` is defined in the file `accounts_menu.rb` You can define two constants in your custom class: LOGO (String) text or ASCII art to display above the menu HIGHLIGHTS (Hash{String=>[Symbol,Array]}) Add coloring to specific words or phrases - The environment variable MAKEFILE can specify a Makefile. The default is './Makefile'. The menu will not display any targets called 'menu' or 'status'. The latter, if present, is called each time the menu displays. ----------------------------- Docker Container Status Panel ----------------------------- Displays a color-coded panel indicating whether or not a Docker container is running. You must define a custom class inheriting from `MakeMenu::StatusPanel` and indicate this using the environment variable MENU, e.g.: export MENU=Accounts This assumes that a class `AccountsStatusPanel` is defined in the file `accounts_status_panel.rb` You can define a constant CONTAINERS {String=>String} in this custom class to map the displayed label to the container name, e.g.: CONTAINERS = { 'Backend' => 'myapp-backend-1' } email: loki@amarantha.net executables: [] extensions: [] extra_rdoc_files: [] files: - Gemfile - Gemfile.lock - lib/make_menu.rb - lib/make_menu/color_string.rb - lib/make_menu/menu.rb - lib/make_menu/menu_item.rb - lib/make_menu/menu_item_group.rb - lib/make_menu/status_panel.rb - lib/make_menu/text_column.rb - lib/make_menu/text_table.rb - lib/make_menu/version.rb - make_menu.gemspec homepage: https://rubygems.org/gems/make_menu licenses: - MIT metadata: {} post_install_message: rdoc_options: [] require_paths: - lib required_ruby_version: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' required_rubygems_version: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' requirements: [] rubygems_version: 3.3.26 signing_key: specification_version: 4 summary: Generates an interactive menu from a Makefile test_files: [] ...