Sha256: 2267f847d4fe6ef3ac2fa70b79dfc441780098ac7f6a5d04e021610c1e3da16e

Contents?: true

Size: 622 Bytes

Versions: 139

Compression:

Stored size: 622 Bytes

Contents

require('cli/ui')

module CLI
  module UI
    module Widgets
      class Base
        def self.call(argstring)
          new(argstring).render
        end

        def initialize(argstring)
          pat = self.class.argparse_pattern
          unless (@match_data = pat.match(argstring))
            raise(Widgets::InvalidWidgetArguments.new(argstring, pat))
          end
          @match_data.names.each do |name|
            instance_variable_set(:"@#{name}", @match_data[name])
          end
        end

        def self.argparse_pattern
          const_get(:ARGPARSE_PATTERN)
        end
      end
    end
  end
end

Version data entries

139 entries across 139 versions & 3 rubygems

Version Path
shopify-cli-2.36.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.35.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.34.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.33.1 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.33.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.32.1 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.32.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.31.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.30.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.29.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.28.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.27.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.26.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.25.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.24.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.23.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.22.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.21.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.20.1 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
shopify-cli-2.20.0 vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb