lib/judges/options.rb in judges-0.21.0 vs lib/judges/options.rb in judges-0.22.0

- old
+ new

@@ -50,35 +50,36 @@ def to_s to_h.map do |k, v| v = v.to_s v = "#{v[0..3]}#{'*' * (v.length - 8)}#{v[-4..]}" if v.length > 8 "#{k} → \"#{v}\"" - end.join("\n") + end.sort.join("\n") end def to_h - @to_h ||= begin - pp = @pairs || [] - pp = pp.split(',') if pp.is_a?(String) - if pp.is_a?(Array) - pp = pp - .compact - .map(&:strip) - .reject(&:empty?) - .map { |s| s.split('=', 2) } - .map { |a| a.size == 1 ? [a[0], nil] : a } - .reject { |a| a[0].empty? } + @to_h ||= + begin + pp = @pairs || [] + pp = pp.split(',') if pp.is_a?(String) + if pp.is_a?(Array) + pp = pp + .compact + .map(&:strip) + .reject(&:empty?) + .map { |s| s.split('=', 2) } + .map { |a| a.size == 1 ? [a[0], nil] : a } + .reject { |a| a[0].empty? } + .to_h + end + pp + .reject { |k, _| k.nil? } + .reject { |k, _| k.is_a?(String) && k.empty? } .to_h + .transform_values { |v| v.nil? ? 'true' : v } + .transform_values { |v| v.is_a?(String) ? v.strip : v } + .transform_values { |v| v.is_a?(String) && v.match?(/^[0-9]+$/) ? v.to_i : v } + .transform_keys { |k| k.to_s.strip.upcase.to_sym } end - pp - .reject { |k, _| k.nil? } - .reject { |k, _| k.is_a?(String) && k.empty? } - .to_h - .transform_values { |v| v.nil? ? 'true' : v } - .transform_values { |v| v.is_a?(String) ? v.strip : v } - .transform_values { |v| v.is_a?(String) && v.match?(/^[0-9]+$/) ? v.to_i : v } - .transform_keys { |k| k.to_s.strip.upcase.to_sym } - end end # Get option by name. others do |*args| to_h[args[0].upcase.to_sym]