Sha256: b6d5276fe242ef0a04ba5217b5477cb501af9a3a712f5d1898f15c9d7e94e3f1

Contents?: true

Size: 616 Bytes

Versions: 138

Compression:

Stored size: 616 Bytes

Contents

module CLI
  module UI
    module Prompt
      # A class that handles the various options of an InteractivePrompt and their callbacks
      class OptionsHandler
        def initialize
          @options = {}
        end

        def options
          @options.keys
        end

        def option(option, &handler)
          @options[option] = handler
        end

        def call(options)
          case options
          when Array
            options.map { |option| @options[option].call(options) }
          else
            @options[options].call(options)
          end
        end
      end
    end
  end
end

Version data entries

138 entries across 138 versions & 3 rubygems

Version Path
rfix-1.0.8.pre.109 vendor/shopify/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.8.pre.108 vendor/shopify/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.7.pre.68 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.7.pre.67 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.7.pre.66 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.7.pre.65 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.7.pre.61 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.6.pre.60 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.7 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.5.pre.58 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.6 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.5.pre.pre.57 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.5 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.4 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.3 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.2 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.1 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
rfix-1.0.0 vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb