From 981132c861c512d06afe83d8186b16ab47daaa8e Mon Sep 17 00:00:00 2001 From: Matthew Hutchinson Date: Mon, 2 Jan 2017 19:39:17 +0000 Subject: [PATCH 1/3] use sdoc 1.0.0.rc1 (avoiding json 1.8.*) --- methadone.gemspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/methadone.gemspec b/methadone.gemspec index 6dd1f85..7083829 100644 --- a/methadone.gemspec +++ b/methadone.gemspec @@ -19,13 +19,13 @@ Gem::Specification.new do |s| s.require_paths = ["lib"] s.add_dependency("bundler") s.add_development_dependency("rake") - s.add_development_dependency("rdoc","~> 3.9") + s.add_development_dependency("rdoc","~> 5.0") s.add_development_dependency("cucumber") s.add_development_dependency("aruba", "0.5.1") s.add_development_dependency("simplecov", "~> 0.5") s.add_development_dependency("clean_test") s.add_development_dependency("mocha", "0.13.2") - s.add_development_dependency("sdoc") + s.add_development_dependency("sdoc", "1.0.0.rc1") s.add_development_dependency("rspec", "~> 3") s.add_development_dependency("i18n", "= 0.6.1") end From 8939ac7eb36dbf86340ba7f7d88ab6e9faabb286 Mon Sep 17 00:00:00 2001 From: Matthew Hutchinson Date: Mon, 2 Jan 2017 19:45:27 +0000 Subject: [PATCH 2/3] fix CLILogger for Ruby 2.4, ensure stderr_logger created first --- lib/methadone/cli_logger.rb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/methadone/cli_logger.rb b/lib/methadone/cli_logger.rb index ee48ad5..a78b0da 100644 --- a/lib/methadone/cli_logger.rb +++ b/lib/methadone/cli_logger.rb @@ -16,7 +16,7 @@ module Methadone # is redirected to a file, a better timestamped logging format is used # # You can customize this in several ways: - # + # # * You can override the devices used by passing different devices to the constructor # * You can adjust the level of message that goes to the error logger via error_level= # * You can adjust the format for messages to the error logger separately via error_formatter= @@ -33,7 +33,7 @@ module Methadone # logger.debug("Starting up") # => only the standard output gets this # logger.warn("careful!") # => only the standard OUTPUT gets this # logger.error("Something went wrong!") # => only the standard error gets this - # + # # logger = CLILogger.new('logfile.txt') # logger.debug("Starting up") # => logfile.txt gets this # logger.error("Something went wrong!") # => BOTH logfile.txt AND the standard error get this @@ -43,7 +43,7 @@ class CLILogger < Logger } # Helper to proxy methods to the super class AND to the internal error logger - # + # # +symbol+:: Symbol for name of the method to proxy def self.proxy_method(symbol) #:nodoc: old_name = "old_#{symbol}".to_sym @@ -58,7 +58,7 @@ def self.proxy_method(symbol) #:nodoc: proxy_method :'datetime_format=' def add(severity, message = nil, progname = nil, &block) #:nodoc: - if @split_logs + if @split_logs unless severity >= @stderr_logger.level super(severity,message,progname,&block) end @@ -67,7 +67,7 @@ def add(severity, message = nil, progname = nil, &block) #:nodoc: end @stderr_logger.add(severity,message,progname,&block) end - + DEFAULT_ERROR_LEVEL = Logger::Severity::WARN # A logger that logs error-type messages to a second device; useful @@ -82,9 +82,10 @@ def add(severity, message = nil, progname = nil, &block) #:nodoc: # +log_device+:: device where all log messages should go, based on level # +error_device+:: device where all error messages should go. By default, this is Logger::Severity::WARN def initialize(log_device=$stdout,error_device=$stderr) - super(log_device) @stderr_logger = Logger.new(error_device) + super(log_device) + log_device_tty = tty?(log_device) error_device_tty = tty?(error_device) From 6c1f06dcd98e890a903235acd9f3cfc339a7d33e Mon Sep 17 00:00:00 2001 From: Matthew Hutchinson Date: Mon, 2 Jan 2017 19:47:17 +0000 Subject: [PATCH 3/3] replace Fixnum contants with Integer --- lib/methadone/main.rb | 42 ++++++++++++++++----------------- lib/methadone/process_status.rb | 2 +- test/test_sh.rb | 2 +- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lib/methadone/main.rb b/lib/methadone/main.rb index b6204b0..286eb28 100644 --- a/lib/methadone/main.rb +++ b/lib/methadone/main.rb @@ -21,22 +21,22 @@ module Methadone # You also get a more expedient interface to OptionParser as well # as checking for required arguments to your app. For example, if # we want our app to accept a negatable switch named "switch", a flag - # named "flag", and two arguments "needed" (which is required) + # named "flag", and two arguments "needed" (which is required) # and "maybe" which is optional, we can do the following: # # #!/usr/bin/env ruby - # + # # require 'methadone' - # + # # class App # include Methadone::Main # include Methadone::CLILogging - # + # # main do |needed, maybe| # options[:switch] => true or false, based on command line # options[:flag] => value of flag passed on command line # end - # + # # # Proxy to an OptionParser instance's on method # on("--[no]-switch") # on("--flag VALUE") @@ -52,7 +52,7 @@ module Methadone # # Our app then acts as follows: # - # $ our_app + # $ our_app # # => parse error: 'needed' is required # $ our_app foo # # => succeeds; "maybe" in main is nil @@ -81,7 +81,7 @@ def self.included(k) # Declare the main method for your app. # This allows you to specify the general logic of your # app at the top of your bin file, but can rely on any methods - # or other code that you define later. + # or other code that you define later. # # For example, suppose you want to process a set of files, but # wish to determine that list from another method to keep your @@ -111,7 +111,7 @@ def self.included(k) # *Note*: #go! will modify +ARGV+ so any unparsed arguments that you do *not* declare as arguments # to #main will essentially be unavailable. I consider this a bug, and it should be changed/fixed in # a future version. - # + # # To run this method, call #go! def main(&block) @main_block = block @@ -165,7 +165,7 @@ def go! opts.parse! opts.check_args! result = call_main - if result.kind_of? Fixnum + if result.kind_of? Integer exit result else exit 0 @@ -299,7 +299,7 @@ def version(version,version_options={}) end version_options[:custom_docs] ||= "Show help/version info" version_options[:format] ||= "%s version %s" - opts.on("--version",version_options[:custom_docs]) do + opts.on("--version",version_options[:custom_docs]) do if version_options[:compact] puts version_options[:format] % [::File.basename($0),version] else @@ -352,7 +352,7 @@ def set_defaults_from_env_var def set_defaults_from_rc_file if @rc_file && File.exists?(@rc_file) - File.open(@rc_file) do |file| + File.open(@rc_file) do |file| parsed = begin YAML::load(file) rescue => ex @@ -461,9 +461,9 @@ def on(*args,&block) else opt_names = option_names(*args) @option_parser.on(*args) do |value| - opt_names.each do |name| - @options[name] = value - @options[name.to_s] = value + opt_names.each do |name| + @options[name] = value + @options[name.to_s] = value end end end @@ -494,7 +494,7 @@ def description(desc) set_banner end - # Defers all calls save #on to + # Defers all calls save #on to # the underlying OptionParser instance def method_missing(sym,*args,&block) @option_parser.send(sym,*args,&block) @@ -528,7 +528,7 @@ def post_setup private def document_help - @option_parser.on("-h","--help","Show command line help") do + @option_parser.on("-h","--help","Show command line help") do puts @option_parser.to_s exit 0 end @@ -547,10 +547,10 @@ def add_default_value_to_docstring(*args) end def option_names_from(args) - args.select(&STRINGS_ONLY).select { |_| - _ =~ /^\-/ - }.map { |_| - _.gsub(/^\-+/,'').gsub(/\s.*$/,'') + args.select(&STRINGS_ONLY).select { |_| + _ =~ /^\-/ + }.map { |_| + _.gsub(/^\-+/,'').gsub(/\s.*$/,'') } end @@ -559,7 +559,7 @@ def set_banner new_banner="Usage: #{::File.basename($0)}" new_banner += " [options]" if @accept_options unless @args.empty? - new_banner += " " + new_banner += " " new_banner += @args.map { |arg| if @arg_options[arg].include? :any "[#{arg.to_s}...]" diff --git a/lib/methadone/process_status.rb b/lib/methadone/process_status.rb index adfa374..cdb6435 100644 --- a/lib/methadone/process_status.rb +++ b/lib/methadone/process_status.rb @@ -33,7 +33,7 @@ def derive_exitstatus(status) else status end - if status.kind_of? Fixnum + if status.kind_of? Integer status elsif status 0 diff --git a/test/test_sh.rb b/test/test_sh.rb index d2b9fbd..641100f 100644 --- a/test/test_sh.rb +++ b/test/test_sh.rb @@ -304,7 +304,7 @@ def initialize(exitcode) def run_command(command) @command = command - if @exitcode.kind_of? Fixnum + if @exitcode.kind_of? Integer [any_string,any_string,OpenStruct.new(:exitstatus => @exitcode)] else [any_string,any_string,@exitcode]