Hello community, here is the log from the commit of package rubygem-commander for openSUSE:Factory checked in at 2018-02-10 17:59:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-commander (Old) and /work/SRC/openSUSE:Factory/.rubygem-commander.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-commander" Sat Feb 10 17:59:49 2018 rev:22 rq:574927 version:4.4.4 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-commander/rubygem-commander.changes 2017-01-15 11:18:55.567197173 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-commander.new/rubygem-commander.changes 2018-02-10 17:59:49.408534752 +0100 @@ -1,0 +2,10 @@ +Thu Feb 8 05:57:41 UTC 2018 - co...@suse.com + +- updated to version 4.4.4 + see installed History.rdoc + + === 4.4.4 / 2018-01-18 + + * Fix deprecated constant warnings on Ruby 2.5. (@mattbrictson) + +------------------------------------------------------------------- Old: ---- commander-4.4.3.gem New: ---- commander-4.4.4.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-commander.spec ++++++ --- /var/tmp/diff_new_pack.OAELWK/_old 2018-02-10 17:59:50.272503476 +0100 +++ /var/tmp/diff_new_pack.OAELWK/_new 2018-02-10 17:59:50.276503331 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-commander # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ # Name: rubygem-commander -Version: 4.4.3 +Version: 4.4.4 Release: 0 %define mod_name commander %define mod_full_name %{mod_name}-%{version} @@ -34,7 +34,7 @@ BuildRequires: ruby-macros >= 5 BuildRequires: update-alternatives Url: https://github.com/commander-rb/commander -Source: http://rubygems.org/gems/%{mod_full_name}.gem +Source: https://rubygems.org/gems/%{mod_full_name}.gem Source1: gem2rpm.yml Summary: The complete solution for Ruby command-line executables License: MIT ++++++ commander-4.4.3.gem -> commander-4.4.4.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.rubocop.yml new/.rubocop.yml --- old/.rubocop.yml 2016-12-28 22:04:30.000000000 +0100 +++ new/.rubocop.yml 2018-01-19 00:03:31.000000000 +0100 @@ -1,5 +1,12 @@ inherit_from: .rubocop_todo.yml +AllCops: + TargetRubyVersion: 1.9 + +# not Ruby 1.9.3 compatible +Style/PercentLiteralDelimiters: + Enabled: false + # Offense count: 5 Encoding: Enabled: false @@ -23,10 +30,10 @@ Style/MethodMissing: Enabled: false -Style/SpaceInsideStringInterpolation: +Layout/SpaceInsideStringInterpolation: Enabled: false -Style/MultilineOperationIndentation: +Layout/MultilineOperationIndentation: Enabled: false Style/EmptyMethod: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.rubocop_todo.yml new/.rubocop_todo.yml --- old/.rubocop_todo.yml 2016-12-28 22:04:30.000000000 +0100 +++ new/.rubocop_todo.yml 2018-01-19 00:03:31.000000000 +0100 @@ -6,7 +6,7 @@ # versions of RuboCop, may require this file to be generated again. # Offense count: 2 -Lint/Eval: +Security/Eval: Enabled: false # Offense count: 2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.travis.yml new/.travis.yml --- old/.travis.yml 2016-12-28 22:04:30.000000000 +0100 +++ new/.travis.yml 2018-01-19 00:03:31.000000000 +0100 @@ -1,4 +1,5 @@ language: ruby +cache: bundler before_install: - gem update --system - gem update bundler @@ -6,7 +7,8 @@ - 1.9.3 - 2.0.0 - 2.1.10 - - 2.2.6 - - 2.3.3 - - 2.4.0 + - 2.2.9 + - 2.3.6 + - 2.4.3 + - 2.5.0 - jruby-19mode diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/History.rdoc new/History.rdoc --- old/History.rdoc 2016-12-28 22:04:30.000000000 +0100 +++ new/History.rdoc 2018-01-19 00:03:31.000000000 +0100 @@ -1,3 +1,7 @@ +=== 4.4.4 / 2018-01-18 + +* Fix deprecated constant warnings on Ruby 2.5. (@mattbrictson) + === 4.4.3 / 2016-12-28 * Fix deprecated constant warnings on Ruby 2.4. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2016-12-28 22:04:30.000000000 +0100 +++ new/README.md 2018-01-19 00:03:31.000000000 +0100 @@ -1,5 +1,5 @@ -[<img src="https://secure.travis-ci.org/commander-rb/commander.png?branch=master" alt="Build Status" />](http://travis-ci.org/commander-rb/commander) -[![Inline docs](http://inch-ci.org/github/commander-rb/commander.png)](http://inch-ci.org/github/commander-rb/commander) +[<img src="https://api.travis-ci.org/commander-rb/commander.svg" alt="Build Status" />](http://travis-ci.org/commander-rb/commander) +[![Inline docs](http://inch-ci.org/github/commander-rb/commander.svg)](http://inch-ci.org/github/commander-rb/commander) # Commander @@ -339,6 +339,21 @@ # => installing to ``` +### Long descriptions + +If you need to have a long command description, keep your short description under `summary`, and consider multi-line strings for `description`: + +```ruby + program :summary, 'Stupid command that prints foo or bar.' + program :description, %q( +#{c.summary} + +More information about that stupid command that prints foo or bar. + +And more + ) +``` + ### Additional Global Help Arbitrary help can be added using the following `#program` symbol: Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commander.gemspec new/commander.gemspec --- old/commander.gemspec 2016-12-28 22:04:30.000000000 +0100 +++ new/commander.gemspec 2018-01-19 00:03:31.000000000 +0100 @@ -1,4 +1,5 @@ # -*- encoding: utf-8 -*- + $LOAD_PATH.push File.expand_path('../lib', __FILE__) require 'commander/version' @@ -26,6 +27,6 @@ s.add_development_dependency('rubocop', '~> 0.41.1') s.add_development_dependency('json', '< 2.0') else - s.add_development_dependency('rubocop', '~> 0.46') + s.add_development_dependency('rubocop', '~> 0.49.1') end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/commander/user_interaction.rb new/lib/commander/user_interaction.rb --- old/lib/commander/user_interaction.rb 2016-12-28 22:04:30.000000000 +0100 +++ new/lib/commander/user_interaction.rb 2018-01-19 00:03:31.000000000 +0100 @@ -324,22 +324,45 @@ # Implements ask_for_CLASS methods. module AskForClass - DEPRECATED_CONSTANTS = [:Config, :TimeoutError, :MissingSourceFile, :NIL, :TRUE, :FALSE, :Fixnum, :Bignum].freeze - # All special cases in HighLine::Question#convert, except those that implement #parse - ( - [Float, Integer, String, Symbol, Regexp, Array, File, Pathname] + - # All Classes that respond to #parse - # Ignore constants that trigger deprecation warnings - (Object.constants - DEPRECATED_CONSTANTS).map do |const| - Object.const_get(const) - end.select do |const| - const.class == Class && const.respond_to?(:parse) - end - ).each do |klass| + DEPRECATED_CONSTANTS = [:Config, :TimeoutError, :MissingSourceFile, :NIL, :TRUE, :FALSE, :Fixnum, :Bignum, :Data].freeze + + # define methods for common classes + [Float, Integer, String, Symbol, Regexp, Array, File, Pathname].each do |klass| define_method "ask_for_#{klass.to_s.downcase}" do |prompt| $terminal.ask(prompt, klass) end end + + def method_missing(method_name, *arguments, &block) + if method_name.to_s =~ /^ask_for_(.*)/ + if arguments.count != 1 + fail ArgumentError, "wrong number of arguments (given #{arguments.count}, expected 1)" + end + prompt = arguments.first + requested_class = Regexp.last_match[1] + + # All Classes that respond to #parse + # Ignore constants that trigger deprecation warnings + available_classes = (Object.constants - DEPRECATED_CONSTANTS).map do |const| + Object.const_get(const) + end.select do |const| + const.class == Class && const.respond_to?(:parse) + end + + klass = available_classes.find { |k| k.to_s.downcase == requested_class } + if klass + $terminal.ask(prompt, klass) + else + super + end + else + super + end + end + + def respond_to_missing?(method_name, include_private = false) + method_name.to_s.start_with?('ask_for_') || super + end end ## diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/commander/version.rb new/lib/commander/version.rb --- old/lib/commander/version.rb 2016-12-28 22:04:30.000000000 +0100 +++ new/lib/commander/version.rb 2018-01-19 00:03:31.000000000 +0100 @@ -1,3 +1,3 @@ module Commander - VERSION = '4.4.3'.freeze + VERSION = '4.4.4'.freeze end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2016-12-28 22:04:30.000000000 +0100 +++ new/metadata 2018-01-19 00:03:31.000000000 +0100 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: commander version: !ruby/object:Gem::Version - version: 4.4.3 + version: 4.4.4 platform: ruby authors: - TJ Holowaychuk @@ -9,7 +9,7 @@ autorequire: bindir: bin cert_chain: [] -date: 2016-12-28 00:00:00.000000000 Z +date: 2018-01-18 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: highline @@ -73,14 +73,14 @@ requirements: - - "~>" - !ruby/object:Gem::Version - version: '0.46' + version: 0.49.1 type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version - version: '0.46' + version: 0.49.1 description: The complete solution for Ruby command-line executables. Commander bridges the gap between other terminal related libraries you know and love (OptionParser, HighLine), while providing many new features, and an elegant API. @@ -157,7 +157,7 @@ version: '0' requirements: [] rubyforge_project: -rubygems_version: 2.6.8 +rubygems_version: 2.7.4 signing_key: specification_version: 4 summary: The complete solution for Ruby command-line executables diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/methods_spec.rb new/spec/methods_spec.rb --- old/spec/methods_spec.rb 2016-12-28 22:04:30.000000000 +0100 +++ new/spec/methods_spec.rb 2018-01-19 00:03:31.000000000 +0100 @@ -6,8 +6,49 @@ expect(subject.ancestors).to include(Commander::UI) end - it 'includes Commander::UI::AskForClass' do - expect(subject.ancestors).to include(Commander::UI::AskForClass) + describe 'AskForClass' do + it 'includes Commander::UI::AskForClass' do + expect(subject.ancestors).to include(Commander::UI::AskForClass) + end + + describe 'defining methods' do + let(:terminal) { double } + + before do + allow(terminal).to receive(:ask) + $_old_terminal = $terminal + $terminal = terminal + end + + after do + $terminal = $_old_terminal + end + + subject do + Class.new do + include Commander::UI::AskForClass + end.new + end + + it 'defines common "ask_for_*" methods' do + expect(subject.respond_to?(:ask_for_float)).to be_truthy + end + + it 'responds to "ask_for_*" methods for classes that implement #parse' do + expect(subject.respond_to?(:ask_for_datetime)).to be_truthy + end + + it 'fails "ask_for_*" method invocations without a prompt' do + expect do + subject.ask_for_datetime + end.to raise_error(ArgumentError) + end + + it 'implements "ask_for_*"' do + expect(terminal).to receive(:ask) + subject.ask_for_datetime('hi') + end + end end it 'includes Commander::Delegates' do