# File lib/main/parameter.rb, line 77 def initialize name, *names, &block @names = Cast.list_of_string name, *names @names.map! do |name| if name =~ %r/^-+/ name.gsub! %r/^-+/, '' end if name =~ %r/=.*$/ argument( name =~ %r/=\s*\[.*$/ ? :optional : :required ) name.gsub! %r/=.*$/, '' end name end @names = @names.sort.reverse @names[1..-1].each do |name| raise ArgumentError, "only one long name allowed (#{ @names.inspect })" if name.size > 1 end DSL.evaluate(self, &block) if block sanity_check! end