Project

General

Profile

Bug #10928

optparse Switch#summarize code doesn't reflect its documentation

Added by gettalong (Thomas Leitner) about 4 years ago. Updated almost 4 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
[ruby-core:68378]

Description

The documentation for Switch#summarize says "+sdone+:: Already summarized short style options keyed hash." for the sdone argument (similar problem with ldone). I.e. it mentions it should be a Hash.

However, the actual method definition line shows otherwise, namely an Array.

def summarize(sdone = [], ldone = [], width = 1, max = width - 1, indent = "")

The OptionParser#summarize command does actually invoke it with Hashes as arguments (line 566): visit(:summarize, {}, {}, width, max, indent, &blk).

So the method definition for Switch#summarize is probably false.

History

Updated by davydov_anton (Anton Davydov) almost 4 years ago

Hello,

However, the actual method definition line shows otherwise, namely an Array.

In documentations says that sdone and ldone options take keyed hash. It's mean that this options take array with hash keys.

The OptionParser#summarize command does actually invoke it with Hashes as arguments (line 566): visit(:summarize, {}, {}, width, max, indent, &blk).

It's different methods. In first case it's Switch#summarize and in second case it's OptionParser#summarize.

Also available in: Atom PDF