Hello community, here is the log from the commit of package rubygem-equalizer for openSUSE:Factory checked in at 2015-03-25 10:00:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-equalizer (Old) and /work/SRC/openSUSE:Factory/.rubygem-equalizer.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-equalizer" Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-equalizer/rubygem-equalizer.changes 2015-02-20 12:01:16.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-equalizer.new/rubygem-equalizer.changes 2015-03-25 10:00:45.000000000 +0100 @@ -1,0 +2,10 @@ +Mon Mar 23 05:30:13 UTC 2015 - co...@suse.com + +- updated to version 0.0.11 + +------------------------------------------------------------------- +Sat Mar 21 05:32:19 UTC 2015 - co...@suse.com + +- updated to version 0.0.10 + +------------------------------------------------------------------- Old: ---- equalizer-0.0.9.gem New: ---- equalizer-0.0.11.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-equalizer.spec ++++++ --- /var/tmp/diff_new_pack.5kfuZt/_old 2015-03-25 10:00:45.000000000 +0100 +++ /var/tmp/diff_new_pack.5kfuZt/_new 2015-03-25 10:00:45.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-equalizer # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 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,14 +24,14 @@ # Name: rubygem-equalizer -Version: 0.0.9 +Version: 0.0.11 Release: 0 %define mod_name equalizer %define mod_full_name %{mod_name}-%{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: ruby-macros >= 5 -BuildRequires: %{ruby} +BuildRequires: %{ruby >= 1.8.7} BuildRequires: %{rubygem gem2rpm} +BuildRequires: ruby-macros >= 5 Url: https://github.com/dkubb/equalizer Source: http://rubygems.org/gems/%{mod_full_name}.gem Source1: gem2rpm.yml ++++++ equalizer-0.0.9.gem -> equalizer-0.0.11.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 2013-12-23 09:42:10.000000000 +0100 +++ new/.gitignore 2015-03-23 03:47:16.000000000 +0100 @@ -33,5 +33,7 @@ ## BUNDLER .bundle Gemfile.lock +bin +bundle ## PROJECT::SPECIFIC diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.reek.yml new/.reek.yml --- old/.reek.yml 2013-12-23 09:42:10.000000000 +0100 +++ new/.reek.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,106 +0,0 @@ ---- -Attribute: - enabled: true - exclude: [] -BooleanParameter: - enabled: true - exclude: [] -ClassVariable: - enabled: true - exclude: [] -ControlParameter: - enabled: true - exclude: [] -DataClump: - enabled: true - exclude: [] - max_copies: 2 - min_clump_size: 2 -DuplicateMethodCall: - enabled: true - exclude: [] - max_calls: 1 - allow_calls: [] -FeatureEnvy: - enabled: true - exclude: [] -IrresponsibleModule: - enabled: true - exclude: [] -LongParameterList: - enabled: true - exclude: [] - max_params: 2 - overrides: - initialize: - max_params: 3 -LongYieldList: - enabled: true - exclude: [] - max_params: 2 -NestedIterators: - enabled: true - exclude: - - Equalizer#define_cmp_method - - Equalizer#define_hash_method - - Equalizer#define_inspect_method - max_allowed_nesting: 1 - ignore_iterators: [] -NilCheck: - enabled: true - exclude: [] -RepeatedConditional: - enabled: true - exclude: [] - max_ifs: 1 -TooManyInstanceVariables: - enabled: true - exclude: [] - max_instance_variables: 3 -TooManyMethods: - enabled: true - exclude: [] - max_methods: 10 -TooManyStatements: - enabled: true - exclude: - - each - max_statements: 5 -UncommunicativeMethodName: - enabled: true - exclude: [] - reject: - - !ruby/regexp /^[a-z]$/ - - !ruby/regexp /[0-9]$/ - - !ruby/regexp /[A-Z]/ - accept: [] -UncommunicativeModuleName: - enabled: true - exclude: [] - reject: - - !ruby/regexp /^.$/ - - !ruby/regexp /[0-9]$/ - accept: [] -UncommunicativeParameterName: - enabled: true - exclude: [] - reject: - - !ruby/regexp /^.$/ - - !ruby/regexp /[0-9]$/ - - !ruby/regexp /[A-Z]/ - accept: [] -UncommunicativeVariableName: - enabled: true - exclude: [] - reject: - - !ruby/regexp /^.$/ - - !ruby/regexp /[0-9]$/ - - !ruby/regexp /[A-Z]/ - accept: [] -UnusedParameters: - enabled: true - exclude: [] -UtilityFunction: - enabled: true - exclude: [] - max_helper_calls: 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.rspec new/.rspec --- old/.rspec 2013-12-23 09:42:10.000000000 +0100 +++ new/.rspec 2015-03-23 03:47:16.000000000 +0100 @@ -1,5 +1,6 @@ +--backtrace --color --format progress +--order random --profile --warnings ---order random diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.rubocop.yml new/.rubocop.yml --- old/.rubocop.yml 2013-12-23 09:42:10.000000000 +0100 +++ new/.rubocop.yml 2015-03-23 03:47:16.000000000 +0100 @@ -1,69 +0,0 @@ -AllCops: - Includes: - - '**/*.rake' - - 'Gemfile' - - 'Rakefile' - Excludes: - - 'vendor/**' - -# Avoid parameter lists longer than five parameters. -ParameterLists: - Max: 3 - CountKeywordArgs: true - -# Avoid more than `Max` levels of nesting. -BlockNesting: - Max: 3 - -# Align with the style guide. -CollectionMethods: - PreferredMethods: - collect: 'map' - inject: 'reduce' - find: 'detect' - find_all: 'select' - -# Do not force public/protected/private keyword to be indented at the same -# level as the def keyword. My personal preference is to outdent these keywords -# because I think when scanning code it makes it easier to identify the -# sections of code and visually separate them. When the keyword is at the same -# level I think it sort of blends in with the def keywords and makes it harder -# to scan the code and see where the sections are. -AccessModifierIndentation: - Enabled: false - -# Disable documentation checking until a class needs to be documented once -Documentation: - Enabled: false - -# Do not always use &&/|| instead of and/or. -AndOr: - Enabled: false - -# Do not favor modifier if/unless usage when you have a single-line body -IfUnlessModifier: - Enabled: false - -# Allow case equality operator (in limited use within the specs) -CaseEquality: - Enabled: false - -# Constants do not always have to use SCREAMING_SNAKE_CASE -ConstantName: - Enabled: false - -# Not all trivial readers/writers can be defined with attr_* methods -TrivialAccessors: - Enabled: false - -# Allow empty lines around body -EmptyLinesAroundBody: - Enabled: false - -# Enforce Ruby 1.8-compatible hash syntax -HashSyntax: - EnforcedStyle: hash_rockets - -# Allow dots at the end of lines -DotPosition: - Enabled: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.ruby-version new/.ruby-version --- old/.ruby-version 1970-01-01 01:00:00.000000000 +0100 +++ new/.ruby-version 2015-03-23 03:47:16.000000000 +0100 @@ -0,0 +1 @@ +ruby-2.2.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.travis.yml new/.travis.yml --- old/.travis.yml 2013-12-23 09:42:10.000000000 +0100 +++ new/.travis.yml 2015-03-23 03:47:16.000000000 +0100 @@ -1,29 +1,21 @@ language: ruby -cache: bundler bundler_args: --without yard guard benchmarks script: "bundle exec rake ci" +cache: bundler +sudo: false rvm: - - ree - - 1.8.7 - - 1.9.2 - - 1.9.3 - - 2.0.0 + - 2.0 + - 2.1 + - 2.2 - ruby-head - - rbx + - rbx-2 matrix: include: - - rvm: jruby-18mode - env: JRUBY_OPTS="$JRUBY_OPTS --debug" # for simplecov - - rvm: jruby-19mode - env: JRUBY_OPTS="$JRUBY_OPTS --debug" # for simplecov - - rvm: jruby-20mode - env: JRUBY_OPTS="$JRUBY_OPTS --debug" # for simplecov + - rvm: jruby + env: JRUBY_OPTS="$JRUBY_OPTS --debug --2.0" # for simplecov + - rvm: jruby-head + env: JRUBY_OPTS="$JRUBY_OPTS --debug --2.0" # for simplecov + allow_failures: + - rvm: ruby-head - rvm: jruby-head - env: JRUBY_OPTS="$JRUBY_OPTS --debug" # for simplecov fast_finish: true -notifications: - irc: - channels: - - irc.freenode.org#rom-rb - on_success: never - on_failure: change diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Gemfile new/Gemfile --- old/Gemfile 2013-12-23 09:42:10.000000000 +0100 +++ new/Gemfile 2015-03-23 03:47:16.000000000 +0100 @@ -2,27 +2,8 @@ source 'https://rubygems.org' -gem 'rake' - -group :test do - gem 'backports' - gem 'coveralls', :require => false - gem 'json', :platforms => [:ruby_19] - gem 'reek' - gem 'rspec', '~> 2.14' - gem 'rubocop', :platforms => [:ruby_19, :ruby_20] - gem 'simplecov', :require => false - gem 'yardstick' -end - -platforms :jruby, :ruby_18 do - gem 'mime-types', '~> 1.25' -end - -platforms :rbx do - gem 'racc' - gem 'rubinius-coverage', '~> 2.0' - gem 'rubysl', '~> 2.0' +group :development, :test do + gem 'devtools', '= 0.0.2', git: 'https://github.com/mbj/devtools.git' end gemspec diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2013-12-23 09:42:10.000000000 +0100 +++ new/README.md 2015-03-23 03:47:16.000000000 +0100 @@ -3,11 +3,11 @@ Module to define equality, equivalence and inspection methods -[![Gem Version](https://badge.fury.io/rb/equalizer.png)][gem] -[![Build Status](https://secure.travis-ci.org/dkubb/equalizer.png?branch=master)][travis] -[![Dependency Status](https://gemnasium.com/dkubb/equalizer.png)][gemnasium] -[![Code Climate](https://codeclimate.com/github/dkubb/equalizer.png)][codeclimate] -[![Coverage Status](https://coveralls.io/repos/dkubb/equalizer/badge.png?branch=master)][coveralls] +[![Gem Version](http://img.shields.io/gem/v/equalizer.svg)][gem] +[![Build Status](http://img.shields.io/travis/dkubb/equalizer.svg)][travis] +[![Dependency Status](http://img.shields.io/gemnasium/dkubb/equalizer.svg)][gemnasium] +[![Code Climate](http://img.shields.io/codeclimate/github/dkubb/equalizer.svg)][codeclimate] +[![Coverage Status](http://img.shields.io/coveralls/dkubb/equalizer.svg)][coveralls] [gem]: https://rubygems.org/gems/equalizer [travis]: https://travis-ci.org/dkubb/equalizer @@ -53,9 +53,10 @@ implementations: * Ruby 1.8.7 -* Ruby 1.9.2 * Ruby 1.9.3 * Ruby 2.0.0 +* Ruby 2.1 +* Ruby 2.2 * [JRuby][] * [Rubinius][] * [Ruby Enterprise Edition][ree] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Rakefile new/Rakefile --- old/Rakefile 2013-12-23 09:42:10.000000000 +0100 +++ new/Rakefile 2015-03-23 03:47:16.000000000 +0100 @@ -1,39 +1,5 @@ -# encoding: utf-8 - require 'bundler' -Bundler::GemHelper.install_tasks - -require 'rspec/core/rake_task' -RSpec::Core::RakeTask.new(:spec) - -task :test => :spec -task :default => :spec - -require 'reek/rake/task' -Reek::Rake::Task.new do |reek| - reek.reek_opts = '--quiet' - reek.fail_on_error = true - reek.config_files = '.reek.yml' -end +require 'devtools' -begin - require 'rubocop/rake_task' - Rubocop::RakeTask.new -rescue LoadError - desc 'Run RuboCop' - task :rubocop do - $stderr.puts 'Rubocop is disabled' - end -end - -require 'yardstick/rake/measurement' -Yardstick::Rake::Measurement.new do |measurement| - measurement.output = 'measurement/report.txt' -end - -require 'yardstick/rake/verify' -Yardstick::Rake::Verify.new do |verify| - verify.threshold = 100 -end - -task :ci => [:spec, :rubocop, :reek, :verify_measurements] +Bundler::GemHelper.install_tasks +Devtools.init_rake_tasks Files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/devtools.yml new/config/devtools.yml --- old/config/devtools.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/config/devtools.yml 2015-03-23 03:47:16.000000000 +0100 @@ -0,0 +1,2 @@ +--- +unit_test_timeout: 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/flay.yml new/config/flay.yml --- old/config/flay.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/config/flay.yml 2015-03-23 03:47:16.000000000 +0100 @@ -0,0 +1,4 @@ +--- +threshold: 0 +total_score: 0 +lib_dirs: [] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/flog.yml new/config/flog.yml --- old/config/flog.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/config/flog.yml 2015-03-23 03:47:16.000000000 +0100 @@ -0,0 +1,3 @@ +--- +threshold: 15.6 +lib_dirs: ['lib'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/mutant.yml new/config/mutant.yml --- old/config/mutant.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/config/mutant.yml 2015-03-23 03:47:16.000000000 +0100 @@ -0,0 +1,2 @@ +name: equalizer +namespace: Equalizer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/reek.yml new/config/reek.yml --- old/config/reek.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/config/reek.yml 2015-03-23 03:47:16.000000000 +0100 @@ -0,0 +1,105 @@ +--- +Attribute: + enabled: false + exclude: [] +BooleanParameter: + enabled: true + exclude: [] +ClassVariable: + enabled: true + exclude: [] +ControlParameter: + enabled: true + exclude: [] +DataClump: + enabled: true + exclude: [] + max_copies: 2 + min_clump_size: 2 +DuplicateMethodCall: + enabled: true + exclude: [] + max_calls: 1 + allow_calls: [] +FeatureEnvy: + enabled: true + exclude: [] +IrresponsibleModule: + enabled: true + exclude: [] +LongParameterList: + enabled: true + exclude: [] + max_params: 2 + overrides: + initialize: + max_params: 3 +LongYieldList: + enabled: true + exclude: [] + max_params: 2 +NestedIterators: + enabled: true + exclude: + - Equalizer#define_cmp_method + - Equalizer#define_inspect_method + max_allowed_nesting: 1 + ignore_iterators: [] +NilCheck: + enabled: true + exclude: [] +RepeatedConditional: + enabled: true + exclude: [] + max_ifs: 1 +TooManyInstanceVariables: + enabled: true + exclude: [] + max_instance_variables: 3 +TooManyMethods: + enabled: true + exclude: [] + max_methods: 6 +TooManyStatements: + enabled: true + exclude: + - Equalizer#define_inspect_method + max_statements: 5 +UncommunicativeMethodName: + enabled: true + exclude: [] + reject: + - !ruby/regexp /^[a-z]$/ + - !ruby/regexp /[0-9]$/ + - !ruby/regexp /[A-Z]/ + accept: [] +UncommunicativeModuleName: + enabled: true + exclude: [] + reject: + - !ruby/regexp /^.$/ + - !ruby/regexp /[0-9]$/ + accept: [] +UncommunicativeParameterName: + enabled: true + exclude: [] + reject: + - !ruby/regexp /^.$/ + - !ruby/regexp /[0-9]$/ + - !ruby/regexp /[A-Z]/ + accept: [] +UncommunicativeVariableName: + enabled: true + exclude: [] + reject: + - !ruby/regexp /^.$/ + - !ruby/regexp /[0-9]$/ + - !ruby/regexp /[A-Z]/ + accept: [] +UnusedParameters: + enabled: true + exclude: [] +UtilityFunction: + enabled: true + exclude: [] + max_helper_calls: 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/rubocop.yml new/config/rubocop.yml --- old/config/rubocop.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/config/rubocop.yml 2015-03-23 03:47:16.000000000 +0100 @@ -0,0 +1,115 @@ +# Avoid parameter lists longer than five parameters. +ParameterLists: + Max: 3 + CountKeywordArgs: true + +# Avoid more than `Max` levels of nesting. +BlockNesting: + Max: 3 + +# Align with the style guide. +CollectionMethods: + PreferredMethods: + collect: 'map' + inject: 'reduce' + find: 'detect' + find_all: 'select' + +# Do not force public/protected/private keyword to be indented at the same +# level as the def keyword. My personal preference is to outdent these keywords +# because I think when scanning code it makes it easier to identify the +# sections of code and visually separate them. When the keyword is at the same +# level I think it sort of blends in with the def keywords and makes it harder +# to scan the code and see where the sections are. +AccessModifierIndentation: + Enabled: false + +# Limit line length +LineLength: + Max: 106 + +# Disable documentation checking until a class needs to be documented once +Documentation: + Enabled: false + +# Do not always use &&/|| instead of and/or. +AndOr: + Enabled: false + +# Do not favor modifier if/unless usage when you have a single-line body +IfUnlessModifier: + Enabled: false + +# Allow case equality operator (in limited use within the specs) +CaseEquality: + Enabled: false + +# Constants do not always have to use SCREAMING_SNAKE_CASE +ConstantName: + Enabled: false + +# Not all trivial readers/writers can be defined with attr_* methods +TrivialAccessors: + Enabled: false + +# Allow empty lines around class body +EmptyLinesAroundClassBody: + Enabled: false + +# Allow empty lines around module body +EmptyLinesAroundModuleBody: + Enabled: false + +# Allow empty lines around block body +EmptyLinesAroundBlockBody: + Enabled: false + +# Allow multiple line operations to not require indentation +MultilineOperationIndentation: + Enabled: false + +# Prefer String#% over Kernel#sprintf +FormatString: + Enabled: false + +# Use square brackets for literal Array objects +PercentLiteralDelimiters: + PreferredDelimiters: + '%': '{}' + '%i': '[]' + '%q': () + '%Q': () + '%r': '{}' + '%s': () + '%w': '[]' + '%W': '[]' + '%x': () + +# Use %i[...] for arrays of symbols +SymbolArray: + Enabled: true + +# Align if/else blocks with the variable assignment +EndAlignment: + AlignWith: variable + +# Do not always align parameters when it is easier to read +AlignParameters: + Exclude: + - spec/**/*_spec.rb + +# Prefer #kind_of? over #is_a? +ClassCheck: + EnforcedStyle: kind_of? + +# Do not prefer double quotes to be used when %q or %Q is more appropriate +UnneededPercentQ: + Enabled: false + +# Allow a maximum ABC score +Metrics/AbcSize: + Max: 8.6 + +# Do not prefer lambda.call(...) over lambda.(...) +LambdaCall: + Enabled: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/yardstick.yml new/config/yardstick.yml --- old/config/yardstick.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/config/yardstick.yml 2015-03-23 03:47:16.000000000 +0100 @@ -0,0 +1,34 @@ +--- +path: 'lib/**/*.rb' +threshold: 100 +rules: + ApiTag::Presence: + enabled: true + exclude: [] + ApiTag::Inclusion: + enabled: true + exclude: [] + ApiTag::ProtectedMethod: + enabled: true + exclude: [] + ApiTag::PrivateMethod: + enabled: true + exclude: [] + ExampleTag: + enabled: true + exclude: [] + ReturnTag: + enabled: true + exclude: [] + Summary::Presence: + enabled: true + exclude: [] + Summary::Length: + enabled: true + exclude: [] + Summary::Delimiter: + enabled: true + exclude: [] + Summary::SingleLine: + enabled: true + exclude: [] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/equalizer.gemspec new/equalizer.gemspec --- old/equalizer.gemspec 2013-12-23 09:42:10.000000000 +0100 +++ new/equalizer.gemspec 2015-03-23 03:47:16.000000000 +0100 @@ -17,5 +17,7 @@ gem.test_files = `git ls-files -- spec/{unit,integration}`.split("\n") gem.extra_rdoc_files = %w[LICENSE README.md CONTRIBUTING.md] + gem.required_ruby_version = '>= 1.8.7' + gem.add_development_dependency('bundler', '~> 1.3', '>= 1.3.5') end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/equalizer/version.rb new/lib/equalizer/version.rb --- old/lib/equalizer/version.rb 2013-12-23 09:42:10.000000000 +0100 +++ new/lib/equalizer/version.rb 2015-03-23 03:47:16.000000000 +0100 @@ -1,8 +1,6 @@ # encoding: utf-8 class Equalizer < Module - # Gem version - VERSION = '0.0.9'.freeze - + VERSION = '0.0.11'.freeze end # class Equalizer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/equalizer.rb new/lib/equalizer.rb --- old/lib/equalizer.rb 2013-12-23 09:42:10.000000000 +0100 +++ new/lib/equalizer.rb 2015-03-23 03:47:16.000000000 +0100 @@ -2,7 +2,6 @@ # Define equality, equivalence and inspection methods class Equalizer < Module - # Initialize an Equalizer with the given keys # # Will use the keys with which it is initialized to define #cmp?, @@ -53,7 +52,9 @@ def define_cmp_method keys = @keys define_method(:cmp?) do |comparator, other| - keys.all? { |key| send(key).send(comparator, other.send(key)) } + keys.all? do |key| + __send__(key).public_send(comparator, other.__send__(key)) + end end private :cmp? end @@ -65,7 +66,7 @@ # @api private def define_hash_method keys = @keys - define_method(:hash) do || + define_method(:hash) do | | keys.map(&method(:send)).push(self.class).hash end end @@ -77,16 +78,15 @@ # @api private def define_inspect_method keys = @keys - define_method(:inspect) do || + define_method(:inspect) do | | klass = self.class name = klass.name || klass.inspect - "#<#{name}#{keys.map { |key| " #{key}=#{send(key).inspect}" }.join}>" + "#<#{name}#{keys.map { |key| " #{key}=#{__send__(key).inspect}" }.join}>" end end # The comparison methods module Methods - # Compare the object with other object for equality # # @example @@ -114,9 +114,8 @@ # # @api public def ==(other) - other = coerce(other) if respond_to?(:coerce, true) + other = coerce(other).first if respond_to?(:coerce, true) other.kind_of?(self.class) && cmp?(__method__, other) end - end # module Methods end # class Equalizer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2013-12-23 09:42:10.000000000 +0100 +++ new/metadata 2015-03-23 03:47:16.000000000 +0100 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: equalizer version: !ruby/object:Gem::Version - version: 0.0.9 + version: 0.0.11 platform: ruby authors: - Dan Kubb @@ -9,26 +9,26 @@ autorequire: bindir: bin cert_chain: [] -date: 2013-12-23 00:00:00.000000000 Z +date: 2015-03-23 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: bundler requirement: !ruby/object:Gem::Requirement requirements: - - - ~> + - - "~>" - !ruby/object:Gem::Version version: '1.3' - - - '>=' + - - ">=" - !ruby/object:Gem::Version version: 1.3.5 type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - - ~> + - - "~>" - !ruby/object:Gem::Version version: '1.3' - - - '>=' + - - ">=" - !ruby/object:Gem::Version version: 1.3.5 description: Module to define equality, equivalence and inspection methods @@ -42,18 +42,25 @@ - README.md - CONTRIBUTING.md files: -- .gitignore -- .reek.yml -- .rspec -- .rubocop.yml -- .ruby-gemset -- .travis.yml -- .yardstick.yml +- ".gitignore" +- ".rspec" +- ".rubocop.yml" +- ".ruby-gemset" +- ".ruby-version" +- ".travis.yml" +- ".yardstick.yml" - CONTRIBUTING.md - Gemfile - LICENSE - README.md - Rakefile +- config/devtools.yml +- config/flay.yml +- config/flog.yml +- config/mutant.yml +- config/reek.yml +- config/rubocop.yml +- config/yardstick.yml - equalizer.gemspec - lib/equalizer.rb - lib/equalizer/version.rb @@ -73,17 +80,17 @@ - lib required_ruby_version: !ruby/object:Gem::Requirement requirements: - - - '>=' + - - ">=" - !ruby/object:Gem::Version - version: '0' + version: 1.8.7 required_rubygems_version: !ruby/object:Gem::Requirement requirements: - - - '>=' + - - ">=" - !ruby/object:Gem::Version version: '0' requirements: [] rubyforge_project: -rubygems_version: 2.1.11 +rubygems_version: 2.4.5 signing_key: specification_version: 4 summary: Module to define equality, equivalence and inspection methods @@ -92,3 +99,4 @@ - spec/unit/equalizer/methods/eql_predicate_spec.rb - spec/unit/equalizer/methods/equality_operator_spec.rb - spec/unit/equalizer/universal_spec.rb +has_rdoc: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/spec_helper.rb new/spec/spec_helper.rb --- old/spec/spec_helper.rb 2013-12-23 09:42:10.000000000 +0100 +++ new/spec/spec_helper.rb 2015-03-23 03:47:16.000000000 +0100 @@ -4,9 +4,9 @@ require 'simplecov' require 'coveralls' - SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ + SimpleCov.formatters = [ SimpleCov::Formatter::HTMLFormatter, - Coveralls::SimpleCov::Formatter, + Coveralls::SimpleCov::Formatter ] SimpleCov.start do @@ -22,12 +22,9 @@ require 'equalizer' -# TODO: FIXME! -# Cache correct freezer in ice_nine before -# rspec2 infects the world... -Equalizer.new - RSpec.configure do |config| + config.raise_errors_for_deprecations! + config.expect_with :rspec do |expect_with| expect_with.syntax = :expect end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/unit/equalizer/included_spec.rb new/spec/unit/equalizer/included_spec.rb --- old/spec/unit/equalizer/included_spec.rb 2013-12-23 09:42:10.000000000 +0100 +++ new/spec/unit/equalizer/included_spec.rb 2015-03-23 03:47:16.000000000 +0100 @@ -11,7 +11,7 @@ before do # Prevent Module.included from being called through inheritance - described_class::Methods.stub(:included) + allow(described_class::Methods).to receive(:included) end around do |example| @@ -29,7 +29,17 @@ # superclass#included method is called. All of the built-in rspec helpers # did not seem to work for this. included = false - superclass.class_eval { define_method(:included) { |_| included = true } } + + superclass.class_eval do + define_method(:included) do |_| + # Only set the flag when an Equalizer instance is included. + # Otherwise, other module includes (which get triggered internally + # in RSpec when `change` is used for the first time, since it uses + # autoloading for its matchers) will wrongly set this flag. + included = true if self.kind_of?(Equalizer) + end + end + expect { subject }.to change { included }.from(false).to(true) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/unit/equalizer/methods/equality_operator_spec.rb new/spec/unit/equalizer/methods/equality_operator_spec.rb --- old/spec/unit/equalizer/methods/equality_operator_spec.rb 2013-12-23 09:42:10.000000000 +0100 +++ new/spec/unit/equalizer/methods/equality_operator_spec.rb 2015-03-23 03:47:16.000000000 +0100 @@ -83,7 +83,7 @@ # declare a private #coerce method described_class.class_eval do def coerce(other) - self.class.new(!!other) + [self.class.new(![nil, false].include?(other)), self] end private :coerce end @@ -96,6 +96,26 @@ end end + context 'with a different object after coercion' do + let(:other) { nil } + + before do + # declare a private #coerce method + described_class.class_eval do + def coerce(other) + [self.class.new(![nil, false].include?(other)), self] + end + private :coerce + end + end + + it { should be(false) } + + it 'is symmetric' do + should eql(other == object) + end + end + context 'with a different object' do let(:other) { described_class.new(false) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/unit/equalizer/universal_spec.rb new/spec/unit/equalizer/universal_spec.rb --- old/spec/unit/equalizer/universal_spec.rb 2013-12-23 09:42:10.000000000 +0100 +++ new/spec/unit/equalizer/universal_spec.rb 2015-03-23 03:47:16.000000000 +0100 @@ -3,7 +3,6 @@ require 'spec_helper' describe Equalizer, '.new' do - let(:object) { described_class } let(:name) { 'User' } let(:klass) { ::Class.new } @@ -13,7 +12,7 @@ before do # specify the class #name method - klass.stub(:name).and_return(name) + allow(klass).to receive(:name).and_return(name) klass.send(:include, subject) end @@ -24,8 +23,8 @@ it { should be_frozen } it 'defines #hash and #inspect methods dynamically' do - expect(subject.public_instance_methods(false).map(&:to_s).sort). - to eql(%w[hash inspect]) + expect(subject.public_instance_methods(false).map(&:to_s).sort) + .to eql(%w[hash inspect]) end describe '#eql?' do @@ -76,7 +75,7 @@ context 'with keys' do subject { object.new(*keys) } - let(:keys) { [:firstname, :lastname].freeze } + let(:keys) { %i[firstname lastname].freeze } let(:firstname) { 'John' } let(:lastname) { 'Doe' } let(:instance) { klass.new(firstname, lastname) } @@ -94,8 +93,7 @@ before do # specify the class #inspect method - klass.stub(:name).and_return(nil) - klass.stub(:inspect).and_return(name) + allow(klass).to receive_messages(name: nil, inspect: name) klass.send(:include, subject) end @@ -104,8 +102,8 @@ it { should be_frozen } it 'defines #hash and #inspect methods dynamically' do - expect(subject.public_instance_methods(false).map(&:to_s).sort). - to eql(%w[ hash inspect ]) + expect(subject.public_instance_methods(false).map(&:to_s).sort) + .to eql(%w[hash inspect]) end describe '#eql?' do @@ -144,15 +142,15 @@ describe '#hash' do it 'returns the expected hash' do - expect(instance.hash). - to eql([firstname, lastname, klass].hash) + expect(instance.hash) + .to eql([firstname, lastname, klass].hash) end end describe '#inspect' do it 'returns the expected string' do - expect(instance.inspect). - to eql('#<User firstname="John" lastname="Doe">') + expect(instance.inspect) + .to eql('#<User firstname="John" lastname="Doe">') end end end -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org