Sha256: ebfba69143f70a40ce86be42946b605fb43295b274824452ef85a62161b17796
Contents?: true
Size: 870 Bytes
Versions: 3
Compression:
Stored size: 870 Bytes
Contents
# typed: true require('cli/ui') module CLI module UI module Widgets class Base extend T::Sig extend T::Helpers abstract! sig { params(argstring: String).returns(String) } def self.call(argstring) new(argstring).render end sig { params(argstring: String).void } 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 sig { abstract.returns(Regexp) } def self.argparse_pattern; end sig { abstract.returns(String) } def render; end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gorails-0.1.5 | vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb |
gorails-0.1.4 | vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb |
gorails-0.1.3 | vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb |