Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rubygem-dry-logic for openSUSE:Factory checked in at 2021-01-21 21:55:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-dry-logic (Old) and /work/SRC/openSUSE:Factory/.rubygem-dry-logic.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-dry-logic" Thu Jan 21 21:55:34 2021 rev:3 rq:865186 version:1.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-dry-logic/rubygem-dry-logic.changes 2020-10-05 19:31:12.180715266 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-dry-logic.new.28504/rubygem-dry-logic.changes 2021-01-21 21:55:35.249803628 +0100 @@ -1,0 +2,28 @@ +Wed Jan 20 12:33:46 UTC 2021 - Stephan Kulow <[email protected]> + +updated to version 1.1.0 + see installed CHANGELOG.md + + <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS ---> + + ## 1.1.0 2020-12-26 + + + ### Changed + + - Switched to equalizer from dry-core (@solnic) + + [Compare v1.0.8...v1.1.0](https://github.com/dry-rb/dry-logic/compare/v1.0.8...v1.1.0) + + ## 1.0.8 2020-09-28 + + + ### Fixed + + - Better Ruby 3 support with fixed specialization for rules of negative arity (@flash-gordon) + + + [Compare v1.0.7...v1.0.8](https://github.com/dry-rb/dry-logic/compare/v1.0.7...v1.0.8) + + +------------------------------------------------------------------- Old: ---- dry-logic-1.0.7.gem New: ---- dry-logic-1.1.0.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-dry-logic.spec ++++++ --- /var/tmp/diff_new_pack.WKbe2b/_old 2021-01-21 21:55:35.769803991 +0100 +++ /var/tmp/diff_new_pack.WKbe2b/_new 2021-01-21 21:55:35.773803994 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-dry-logic # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,12 +24,12 @@ # Name: rubygem-dry-logic -Version: 1.0.7 +Version: 1.1.0 Release: 0 %define mod_name dry-logic %define mod_full_name %{mod_name}-%{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: %{ruby >= 2.4.0} +BuildRequires: %{ruby >= 2.5.0} BuildRequires: %{rubygem gem2rpm} BuildRequires: ruby-macros >= 5 URL: https://dry-rb.org/gems/dry-logic ++++++ dry-logic-1.0.7.gem -> dry-logic-1.1.0.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md --- old/CHANGELOG.md 2020-08-13 12:34:32.000000000 +0200 +++ new/CHANGELOG.md 2020-12-26 18:06:48.000000000 +0100 @@ -1,3 +1,24 @@ +<!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS ---> + +## 1.1.0 2020-12-26 + + +### Changed + +- Switched to equalizer from dry-core (@solnic) + +[Compare v1.0.8...v1.1.0](https://github.com/dry-rb/dry-logic/compare/v1.0.8...v1.1.0) + +## 1.0.8 2020-09-28 + + +### Fixed + +- Better Ruby 3 support with fixed specialization for rules of negative arity (@flash-gordon) + + +[Compare v1.0.7...v1.0.8](https://github.com/dry-rb/dry-logic/compare/v1.0.7...v1.0.8) + ## 1.0.7 2020-08-13 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2020-08-13 12:34:32.000000000 +0200 +++ new/README.md 2020-12-26 18:06:48.000000000 +0100 @@ -21,7 +21,7 @@ This library officially supports the following Ruby versions: -* MRI >= `2.4` +* MRI >= `2.5` * jruby >= `9.2` ## License Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dry-logic.gemspec new/dry-logic.gemspec --- old/dry-logic.gemspec 2020-08-13 12:34:32.000000000 +0200 +++ new/dry-logic.gemspec 2020-12-26 18:06:48.000000000 +0100 @@ -25,12 +25,11 @@ spec.metadata['source_code_uri'] = 'https://github.com/dry-rb/dry-logic' spec.metadata['bug_tracker_uri'] = 'https://github.com/dry-rb/dry-logic/issues' - spec.required_ruby_version = ">= 2.4.0" + spec.required_ruby_version = ">= 2.5.0" # to update dependencies edit project.yml spec.add_runtime_dependency "concurrent-ruby", "~> 1.0" - spec.add_runtime_dependency "dry-core", "~> 0.2" - spec.add_runtime_dependency "dry-equalizer", "~> 0.2" + spec.add_runtime_dependency "dry-core", "~> 0.5", ">= 0.5" spec.add_development_dependency "bundler" spec.add_development_dependency "rake" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/dry/logic/evaluator.rb new/lib/dry/logic/evaluator.rb --- old/lib/dry/logic/evaluator.rb 2020-08-13 12:34:32.000000000 +0200 +++ new/lib/dry/logic/evaluator.rb 2020-12-26 18:06:48.000000000 +0100 @@ -1,6 +1,6 @@ # frozen_string_literal: true -require "dry/equalizer" +require "dry/core/equalizer" module Dry module Logic diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/dry/logic/operations/abstract.rb new/lib/dry/logic/operations/abstract.rb --- old/lib/dry/logic/operations/abstract.rb 2020-08-13 12:34:32.000000000 +0200 +++ new/lib/dry/logic/operations/abstract.rb 2020-12-26 18:06:48.000000000 +0100 @@ -1,7 +1,7 @@ # frozen_string_literal: true require "dry/core/constants" -require "dry/equalizer" +require "dry/core/equalizer" require "dry/logic/operators" module Dry diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/dry/logic/rule/interface.rb new/lib/dry/logic/rule/interface.rb --- old/lib/dry/logic/rule/interface.rb 2020-08-13 12:34:32.000000000 +0200 +++ new/lib/dry/logic/rule/interface.rb 2020-12-26 18:06:48.000000000 +0100 @@ -4,6 +4,8 @@ module Logic class Rule class Interface < ::Module + SPLAT = ["*rest"].freeze + attr_reader :arity attr_reader :curried @@ -18,12 +20,10 @@ define_constructor if curried? - if variable_arity? - define_splat_application - elsif constant? + if constant? define_constant_application else - define_fixed_application + define_application end end @@ -32,7 +32,7 @@ end def variable_arity? - arity.equal?(-1) + arity.negative? end def curried? @@ -41,7 +41,13 @@ def unapplied if variable_arity? - -1 + unapplied = arity.abs - 1 - curried + + if unapplied.negative? + 0 + else + unapplied + end else arity - curried end @@ -51,8 +57,19 @@ if constant? "Constant" else - arity_str = variable_arity? ? "VariableArity" : "#{arity}Arity" - curried_str = curried? ? "#{curried}Curried" : EMPTY_STRING + arity_str = + if variable_arity? + "Variable#{arity.abs - 1}Arity" + else + "#{arity}Arity" + end + + curried_str = + if curried? + "#{curried}Curried" + else + EMPTY_STRING + end "#{arity_str}#{curried_str}" end @@ -91,32 +108,10 @@ end end - def define_splat_application - application = - if curried? - "@predicate[#{curried_args.join(", ")}, *input]" - else - "@predicate[*input]" - end - - module_eval(<<~RUBY, __FILE__, __LINE__ + 1) - def call(*input) - if #{application} - Result::SUCCESS - else - Result.new(false, id) { ast(*input) } - end - end - - def [](*input) - #{application} - end - RUBY - end - - def define_fixed_application - parameters = unapplied_args.join(", ") - application = "@predicate[#{(curried_args + unapplied_args).join(", ")}]" + def define_application + splat = variable_arity? ? SPLAT : EMPTY_ARRAY + parameters = (unapplied_args + splat).join(", ") + application = "@predicate[#{(curried_args + unapplied_args + splat).join(", ")}]" module_eval(<<~RUBY, __FILE__, __LINE__ + 1) def call(#{parameters}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/dry/logic/rule.rb new/lib/dry/logic/rule.rb --- old/lib/dry/logic/rule.rb 2020-08-13 12:34:32.000000000 +0200 +++ new/lib/dry/logic/rule.rb 2020-12-26 18:06:48.000000000 +0100 @@ -2,7 +2,7 @@ require "concurrent/map" require "dry/core/constants" -require "dry/equalizer" +require "dry/core/equalizer" require "dry/logic/operations" require "dry/logic/result" require "dry/logic/rule/interface" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/dry/logic/version.rb new/lib/dry/logic/version.rb --- old/lib/dry/logic/version.rb 2020-08-13 12:34:32.000000000 +0200 +++ new/lib/dry/logic/version.rb 2020-12-26 18:06:48.000000000 +0100 @@ -2,6 +2,6 @@ module Dry module Logic - VERSION = "1.0.7" + VERSION = "1.1.0" end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2020-08-13 12:34:32.000000000 +0200 +++ new/metadata 2020-12-26 18:06:48.000000000 +0100 @@ -1,14 +1,14 @@ --- !ruby/object:Gem::Specification name: dry-logic version: !ruby/object:Gem::Version - version: 1.0.7 + version: 1.1.0 platform: ruby authors: - Piotr Solnica autorequire: bindir: bin cert_chain: [] -date: 2020-08-13 00:00:00.000000000 Z +date: 2020-12-26 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: concurrent-ruby @@ -30,28 +30,20 @@ requirements: - - "~>" - !ruby/object:Gem::Version - version: '0.2' - type: :runtime - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '0.2' -- !ruby/object:Gem::Dependency - name: dry-equalizer - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" + version: '0.5' + - - ">=" - !ruby/object:Gem::Version - version: '0.2' + version: '0.5' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version - version: '0.2' + version: '0.5' + - - ">=" + - !ruby/object:Gem::Version + version: '0.5' - !ruby/object:Gem::Dependency name: bundler requirement: !ruby/object:Gem::Requirement @@ -147,14 +139,14 @@ requirements: - - ">=" - !ruby/object:Gem::Version - version: 2.4.0 + version: 2.5.0 required_rubygems_version: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' requirements: [] -rubygems_version: 3.0.3 +rubygems_version: 3.1.4 signing_key: specification_version: 4 summary: Predicate logic with rule composition
