# File lib/main/parameter.rb, line 79 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_by{|name| name.size}.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