Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rubygem-dry-inflector for
openSUSE:Factory checked in at 2021-08-24 10:54:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-dry-inflector (Old)
and /work/SRC/openSUSE:Factory/.rubygem-dry-inflector.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-dry-inflector"
Tue Aug 24 10:54:23 2021 rev:2 rq:912494 version:0.2.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-dry-inflector/rubygem-dry-inflector.changes
2020-07-01 18:23:12.214044192 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-dry-inflector.new.1899/rubygem-dry-inflector.changes
2021-08-24 10:55:13.976292332 +0200
@@ -1,0 +2,7 @@
+Mon Jul 26 05:53:50 UTC 2021 - Stephan Kulow <[email protected]>
+
+updated to version 0.2.1
+ see installed CHANGELOG.md
+
+
+-------------------------------------------------------------------
Old:
----
dry-inflector-0.2.0.gem
New:
----
dry-inflector-0.2.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-dry-inflector.spec ++++++
--- /var/tmp/diff_new_pack.AydOwj/_old 2021-08-24 10:55:14.500291637 +0200
+++ /var/tmp/diff_new_pack.AydOwj/_new 2021-08-24 10:55:14.504291632 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-dry-inflector
#
-# 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,18 +24,18 @@
#
Name: rubygem-dry-inflector
-Version: 0.2.0
+Version: 0.2.1
Release: 0
%define mod_name dry-inflector
%define mod_full_name %{mod_name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: %{ruby >= 2.4}
+BuildRequires: %{ruby >= 2.6.0}
BuildRequires: %{rubygem gem2rpm}
BuildRequires: ruby-macros >= 5
-URL: https://dry-rb.org
+URL: https://dry-rb.org/gems/dry-inflector
Source: https://rubygems.org/gems/%{mod_full_name}.gem
Source1: gem2rpm.yml
-Summary: DRY Inflector
+Summary: String inflections for dry-rb
License: MIT
Group: Development/Languages/Ruby
@@ -48,7 +48,7 @@
%install
%gem_install \
- --doc-files="CHANGELOG.md LICENSE.md README.md" \
+ --doc-files="CHANGELOG.md LICENSE README.md" \
-f
%gem_packages
++++++ dry-inflector-0.2.0.gem -> dry-inflector-0.2.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2019-10-13 12:56:59.000000000 +0200
+++ new/CHANGELOG.md 2021-06-30 10:46:07.000000000 +0200
@@ -1,40 +1,55 @@
-# dry-inflector
+<!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
-Inflector for Ruby
+## unreleased
+
+
+### Fixed
+
+- Fix singularizing -us suffix (issue #33 via #38) (@cllns)
+
+
+[Compare
v0.2.0...master](https://github.com/dry-rb/dry-inflector/compare/v0.2.0...master)
+
+## 0.2.0 2019-10-13
-## v0.2.0 - 2019-10-13
### Added
-- [Abinoam P. Marques Jr. & Andrii Savchenko] Introduced
`Dry::Inflector#upper_camelize` and `Dry::Inflector#lower_camelize`.
`Dry::Inflector#camelize` is now an alias for `Dry::Inflector#upper_camelize`
and may be deprecated later.
- ```ruby
- inflector.camelize_upper("data_mapper") # => "DataMapper"
- inflector.camelize_lower("data_mapper") # => "dataMapper"
- ```
+- [Abinoam P. Marques Jr. & Andrii Savchenko] Introduced
`Dry::Inflector#camelize_upper` and `Dry::Inflector#camelize_lower`.
`Dry::Inflector#camelize` is now an alias for `Dry::Inflector#camelize_upper`.
+- ```ruby
+- inflector.camelize_upper("data_mapper") # => "DataMapper"
+- inflector.camelize_lower("data_mapper") # => "dataMapper"
+- ```
### Fixed
- [ecnal] Fixed singularization rules for words like "alias" or "status"
+
[Compare
v0.1.2...v0.2.0](https://github.com/dry-rb/dry-inflector/compare/v0.1.2...v0.2.0)
-## v0.1.2 - 2018-04-25
+## 0.1.2 2018-04-25
+
### Added
- [Gustavo Caso & Nikita Shilnikov] Added support for acronyms
+
[Compare
v0.1.1...v0.1.2](https://github.com/dry-rb/dry-inflector/compare/v0.1.1...v0.1.2)
-## v0.1.1 - 2017-11-18
+## 0.1.1 2017-11-18
+
### Fixed
- [Luca Guidi & Abinoam P. Marques Jr.] Ensure `Dry::Inflector#ordinalize` to
work for all the numbers from 0 to 100
+
[Compare
v0.1.0...v0.1.1](https://github.com/dry-rb/dry-inflector/compare/v0.1.0...v0.1.1)
-## v0.1.0 - 2017-11-17
+## 0.1.0 2017-11-17
+
### Added
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LICENSE new/LICENSE
--- old/LICENSE 1970-01-01 01:00:00.000000000 +0100
+++ new/LICENSE 2021-06-30 10:46:07.000000000 +0200
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2015-2021 dry-rb team
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LICENSE.md new/LICENSE.md
--- old/LICENSE.md 2019-10-13 12:56:59.000000000 +0200
+++ new/LICENSE.md 1970-01-01 01:00:00.000000000 +0100
@@ -1,22 +0,0 @@
-Copyright ?? The Dry, Rails, Merb, Datamapper, Inflecto, Flexus, and Hanami
teams
-
-MIT License
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md 2019-10-13 12:56:59.000000000 +0200
+++ new/README.md 2021-06-30 10:46:07.000000000 +0200
@@ -1,106 +1,30 @@
-[gem]: https://img.shields.io/gem/v/dry-inflector.svg
-[travis]: https://travis-ci.org/dry-rb/dry-inflector
-[codeclimate]: https://codeclimate.com/github/dry-rb/dry-inflector
+<!--- this file is synced from dry-rb/template-gem project -->
+[gem]: https://rubygems.org/gems/dry-inflector
+[actions]: https://github.com/dry-rb/dry-inflector/actions
+[codacy]: https://www.codacy.com/gh/dry-rb/dry-inflector
[chat]: https://dry-rb.zulipchat.com
[inchpages]: http://inch-ci.org/github/dry-rb/dry-inflector
# dry-inflector [][chat]
[][gem]
-[][travis]
-[][codeclimate]
-[][codeclimate]
+[][actions]
+[][codacy]
+[][codacy]
[][inchpages]
-dry-inflector is an inflector gem for Ruby.
+## Links
-## Installation
+* [User documentation](https://dry-rb.org/gems/dry-inflector)
+* [API documentation](http://rubydoc.info/gems/dry-inflector)
-Add this line to your application's `Gemfile`:
+## Supported Ruby versions
-```ruby
-gem 'dry-inflector'
-```
+This library officially supports the following Ruby versions:
-And then execute:
+* MRI `>= 2.6.0`
+* ~~jruby~~ `>= 9.3` (we are waiting for [2.6
support](https://github.com/jruby/jruby/issues/6161))
-```shell
-$ bundle
-```
+## License
-Or install it yourself as:
-
-```shell
-$ gem install dry-inflector
-```
-
-## Usage
-
-### Basic usage
-
-```ruby
-require "dry/inflector"
-
-inflector = Dry::Inflector.new
-
-inflector.pluralize("book") # => "books"
-inflector.singularize("books") # => "book"
-
-inflector.camelize("dry/inflector") # => "Dry::Inflector"
-inflector.classify("books") # => "Book"
-inflector.tableize("Book") # => "books"
-
-inflector.dasherize("dry_inflector") # => "dry-inflector"
-inflector.underscore("dry-inflector") # => "dry_inflector"
-
-inflector.demodulize("Dry::Inflector") # => "Inflector"
-
-inflector.humanize("dry_inflector") # => "Dry inflector"
-inflector.humanize("author_id") # => "Author"
-
-inflector.ordinalize(1) # => "1st"
-inflector.ordinalize(2) # => "2nd"
-inflector.ordinalize(3) # => "3rd"
-inflector.ordinalize(10) # => "10th"
-inflector.ordinalize(23) # => "23rd"
-```
-
-### Custom inflection rules
-
-```ruby
-require "dry/inflector"
-
-inflector = Dry::Inflector.new do |inflections|
- inflections.plural "virus", "viruses" # specify a rule for #pluralize
- inflections.singular "thieves", "thief" # specify a rule for
#singularize
- inflections.uncountable "dry-inflector" # add an exception for an
uncountable word
-end
-
-inflector.pluralize("virus") # => "viruses"
-inflector.singularize("thieves") # => "thief"
-
-inflector.pluralize("dry-inflector") # => "dry-inflector"
-```
-
-## Credits
-
-This gem is the cumulative effort of the Ruby community.
-It started with the extlib inflecto originated from
[active_support](https://github.com/rails/rails), then dm-core inflector
originated from [extlib](https://github.com/datamapper/extlib).
-Later, [`inflecto`](https://github.com/mbj/inflecto) was extracted from
[dm-core](https://github.com/datamapper/dm-core) as a standalone inflector.
-Now, we resurrect `inflecto` and merged
[`flexus`](https://github.com/Ptico/flexus), with some inflection rules from
[`hanami-utils`](https://github.com/hanami/utils).
-
-This is `dry-inflector`.
-
-## Development
-
-After checking out the repo, run `bin/setup` to install dependencies. You can
also run `bin/console` for an interactive prompt that will allow you to
experiment.
-
-To install this gem onto your local machine, run `bundle exec rake install`.
To release a new version, update the version number in `version.rb`, and then
run `bundle exec rake release`, which will create a git tag for the version,
push git commits and tags, and push the `.gem` file to
[rubygems.org](https://rubygems.org).
-
-## Contributing
-
-Bug reports and pull requests are welcome on GitHub at
https://github.com/dry-rb/dry-inflector.
-
-## Copyright
-
-Copyright ?? The Dry, Rails, Merb, Datamapper, Inflecto, Flexus, and Hanami
teams - Released under the MIT License
+See `LICENSE` file.
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dry-inflector.gemspec new/dry-inflector.gemspec
--- old/dry-inflector.gemspec 2019-10-13 12:56:59.000000000 +0200
+++ new/dry-inflector.gemspec 2021-06-30 10:46:07.000000000 +0200
@@ -1,36 +1,36 @@
-
# frozen_string_literal: true
-lib = File.expand_path("../lib", __FILE__)
+# this file is synced from dry-rb/template-gem project
+
+lib = File.expand_path("lib", __dir__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require "dry/inflector/version"
Gem::Specification.new do |spec|
spec.name = "dry-inflector"
- spec.version = Dry::Inflector::VERSION
spec.authors = ["Luca Guidi", "Andrii Savchenko", "Abinoam P. Marques
Jr."]
spec.email = ["[email protected]", "[email protected]",
"[email protected]"]
-
- spec.summary = "DRY Inflector"
- spec.description = "String inflections for dry-rb"
- spec.homepage = "https://dry-rb.org"
spec.license = "MIT"
+ spec.version = Dry::Inflector::VERSION.dup
+
+ spec.summary = "String inflections for dry-rb"
+ spec.description = spec.summary
+ spec.homepage = "https://dry-rb.org/gems/dry-inflector"
+ spec.files = Dir["CHANGELOG.md", "LICENSE", "README.md",
"dry-inflector.gemspec", "lib/**/*"]
+ spec.bindir = "bin"
+ spec.executables = []
+ spec.require_paths = ["lib"]
spec.metadata["allowed_push_host"] = "https://rubygems.org"
- spec.metadata["changelog_uri"] =
"https://github.com/dry-rb/dry-inflector/blob/master/CHANGELOG.md"
- spec.metadata["source_code_uri"] = "https://github.com/dry-rb/dry-inflector"
- spec.metadata["bug_tracker_uri"] =
"https://github.com/dry-rb/dry-inflector/issues"
+ spec.metadata["changelog_uri"] =
"https://github.com/dry-rb/dry-inflector/blob/master/CHANGELOG.md"
+ spec.metadata["source_code_uri"] =
"https://github.com/dry-rb/dry-inflector"
+ spec.metadata["bug_tracker_uri"] =
"https://github.com/dry-rb/dry-inflector/issues"
- spec.bindir = "exe"
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
- spec.require_paths = ["lib"]
+ spec.required_ruby_version = ">= 2.6.0"
- spec.files = `git ls-files -- lib/* CHANGELOG.md LICENSE.md
README.md dry-inflector.gemspec`.split($INPUT_RECORD_SEPARATOR)
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
- spec.required_ruby_version = '>= 2.4'
+ # to update dependencies edit project.yml
spec.add_development_dependency "bundler"
- spec.add_development_dependency "rake", "~> 12.0"
- spec.add_development_dependency "rspec", "~> 3.7"
- spec.add_development_dependency "rubocop", "~> 0.50.0"
+ spec.add_development_dependency "rake"
+ spec.add_development_dependency "rspec"
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/dry/inflector/acronyms.rb
new/lib/dry/inflector/acronyms.rb
--- old/lib/dry/inflector/acronyms.rb 2019-10-13 12:56:59.000000000 +0200
+++ new/lib/dry/inflector/acronyms.rb 2021-06-30 10:46:07.000000000 +0200
@@ -18,7 +18,7 @@
# @since 0.1.2
# @api private
- def apply_to(word, capitalize = true)
+ def apply_to(word, capitalize: true)
@rules[word.downcase] || (capitalize ? word.capitalize : word)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/dry/inflector/inflections/defaults.rb
new/lib/dry/inflector/inflections/defaults.rb
--- old/lib/dry/inflector/inflections/defaults.rb 2019-10-13
12:56:59.000000000 +0200
+++ new/lib/dry/inflector/inflections/defaults.rb 2021-06-30
10:46:07.000000000 +0200
@@ -9,7 +9,6 @@
# @api private
#
# rubocop:disable Metrics/AbcSize
- # rubocop:disable Metrics/MethodLength
module Defaults
# @since 0.1.0
# @api private
@@ -35,7 +34,7 @@
inflect.plural(/(?<!b)um\z/i, '\1a')
inflect.plural(/([ti])a\z/i, '\1a')
inflect.plural(/sis\z/i, "ses")
- inflect.plural(/(.*)(?:([^f]))f[e]*\z/i, '\1\2ves')
+ inflect.plural(/(.*)(?:([^f]))fe*\z/i, '\1\2ves')
inflect.plural(/(hive|proof)\z/i, '\1s') # TODO: proof can be moved
in the above regexp
inflect.plural(/([^aeiouy]|qu)y\z/i, '\1ies')
inflect.plural(/(x|ch|ss|sh)\z/i, '\1es')
@@ -57,7 +56,8 @@
inflect.singular(/s\z/i, "")
inflect.singular(/(n)ews\z/i, '\1ews')
inflect.singular(/([ti])a\z/i, '\1um')
-
inflect.singular(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)(sis|ses)\z/i,
'\1\2sis')
+
inflect.singular(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)(sis|ses)\z/i,
+ '\1\2sis')
inflect.singular(/(^analy)(sis|ses)\z/i, '\1sis')
inflect.singular(/([^f])ves\z/i, '\1fe')
inflect.singular(/(hive)s\z/i, '\1')
@@ -69,7 +69,7 @@
inflect.singular(/(ss)\z/i, '\1')
inflect.singular(/(x|ch|ss|sh)es\z/i, '\1')
inflect.singular(/([m|l])ice\z/i, '\1ouse')
- inflect.singular(/(bus)(es)?\z/i, '\1')
+ inflect.singular(/(us)(es)?\z/i, '\1')
inflect.singular(/(o)es\z/i, '\1')
inflect.singular(/(shoe)s\z/i, '\1')
inflect.singular(/(cris|ax|test)(is|es)\z/i, '\1is')
@@ -87,30 +87,34 @@
def self.irregular(inflect)
inflect.irregular("person", "people")
inflect.irregular("man", "men")
- inflect.irregular("human", "humans") # NOTE: this is here only to
override the previous rule
+
+ # NOTE: this is here only to override the previous rule
+ inflect.irregular("human", "humans")
inflect.irregular("child", "children")
inflect.irregular("sex", "sexes")
inflect.irregular("foot", "feet")
inflect.irregular("tooth", "teeth")
inflect.irregular("goose", "geese")
- inflect.irregular("forum", "forums") # FIXME: this is here because I
need to fix the "um" regexp
+
+ # FIXME: this is here because I need to fix the "um" regexp
+ inflect.irregular("forum", "forums")
end
# @since 0.1.0
# @api private
def self.uncountable(inflect)
- inflect.uncountable(%w[hovercraft moose deer milk rain Swiss grass
equipment information rice money species series fish sheep jeans])
+ inflect.uncountable(%w[hovercraft moose deer milk rain Swiss grass
equipment information
+ rice money species series fish sheep jeans])
end
# @since 0.1.2
# @api private
def self.acronyms(inflect)
- inflect.acronym(*%w[JSON HTTP OpenSSL HMAC])
+ inflect.acronym(*%w[JSON HTTP OpenSSL HMAC CSRF API])
end
private_class_method :plural, :singular, :irregular, :uncountable,
:acronyms
end
- # rubocop:enable Metrics/MethodLength
# rubocop:enable Metrics/AbcSize
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/dry/inflector/inflections.rb
new/lib/dry/inflector/inflections.rb
--- old/lib/dry/inflector/inflections.rb 2019-10-13 12:56:59.000000000
+0200
+++ new/lib/dry/inflector/inflections.rb 2021-06-30 10:46:07.000000000
+0200
@@ -87,7 +87,9 @@
#
# Specifies a new pluralization rule and its replacement.
# The rule can either be a string or a regular expression.
- # The replacement should always be a string that may include references
to the matched data from the rule.
+ #
+ # The replacement should always be a string that may include
+ # references to the matched data from the rule.
#
# @param rule [String, Regexp] the rule
# @param replacement [String] the replacement
@@ -108,7 +110,9 @@
#
# Specifies a new singularization rule and its replacement.
# The rule can either be a string or a regular expression.
- # The replacement should always be a string that may include references
to the matched data from the rule.
+ #
+ # The replacement should always be a string that may include
+ # references to the matched data from the rule.
#
# @param rule [String, Regexp] the rule
# @param replacement [String] the replacement
@@ -127,7 +131,9 @@
# Add a custom pluralization rule
#
- # Specifies a new irregular that applies to both pluralization and
singularization at the same time.
+ # Specifies a new irregular that applies to both pluralization
+ # and singularization at the same time.
+ #
# This can only be used for strings, not regular expressions.
# You simply pass the irregular in singular and plural form.
#
@@ -194,9 +200,14 @@
# Add a custom humanize rule
#
- # Specifies a humanized form of a string by a regular expression rule or
by a string mapping.
- # When using a regular expression based replacement, the normal humanize
formatting is called after the replacement.
- # When a string is used, the human form should be specified as desired
(example: `"The name"`, not `"the_name"`)
+ # Specifies a humanized form of a string by a regular expression rule or
+ # by a string mapping.
+ #
+ # When using a regular expression based replacement, the normal humanize
+ # formatting is called after the replacement.
+ #
+ # When a string is used, the human form should be specified as desired
+ # (example: `"The name"`, not `"the_name"`)
#
# @param rule [String, Regexp] the rule
# @param replacement [String] the replacement
@@ -227,7 +238,7 @@
# @api private
def add_irregular(rule, replacement, target)
head, *tail = rule.chars.to_a
- rule(/(#{head})#{tail.join}\z/i, '\1' + replacement[1..-1], target)
+ rule(/(#{head})#{tail.join}\z/i, "\\1#{replacement[1..]}", target)
end
# Add a new rule
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/dry/inflector/version.rb
new/lib/dry/inflector/version.rb
--- old/lib/dry/inflector/version.rb 2019-10-13 12:56:59.000000000 +0200
+++ new/lib/dry/inflector/version.rb 2021-06-30 10:46:07.000000000 +0200
@@ -3,6 +3,6 @@
module Dry
class Inflector
# @since 0.1.0
- VERSION = "0.2.0"
+ VERSION = "0.2.1"
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/dry/inflector.rb new/lib/dry/inflector.rb
--- old/lib/dry/inflector.rb 2019-10-13 12:56:59.000000000 +0200
+++ new/lib/dry/inflector.rb 2021-06-30 10:46:07.000000000 +0200
@@ -67,8 +67,7 @@
internal_camelize(input, true)
end
- alias :camelize :camelize_upper
-
+ alias_method :camelize, :camelize_upper
# Find a constant with the name specified in the argument string
#
@@ -87,7 +86,7 @@
# inflector.constantize("Module") # => Module
# inflector.constantize("Dry::Inflector") # => Dry::Inflector
def constantize(input)
- Object.const_get(input)
+ Object.const_get(input, false)
end
# Classify a string
@@ -159,7 +158,7 @@
match = /(?<separator>\W)/.match(result)
separator = match ? match[:separator] : DEFAULT_SEPARATOR
result.split(separator).map.with_index { |word, index|
- inflections.acronyms.apply_to(word, index.zero?)
+ inflections.acronyms.apply_to(word, capitalize: index.zero?)
}.join(separator)
end
@@ -193,7 +192,7 @@
# inflector.ordinalize(3) # => "3rd"
# inflector.ordinalize(10) # => "10th"
# inflector.ordinalize(23) # => "23rd"
- def ordinalize(number) # rubocop:disable Metrics/MethodLength
+ def ordinalize(number)
abs_value = number.abs
if ORDINALIZE_TH.key?(abs_value % 100)
@@ -224,6 +223,7 @@
def pluralize(input)
input = input.to_s
return input if uncountable?(input)
+
inflections.plurals.apply_to(input)
end
@@ -243,6 +243,7 @@
def singularize(input)
input = input.to_s
return input if uncountable?(input)
+
inflections.singulars.apply_to(input)
end
@@ -280,7 +281,7 @@
input.gsub!(inflections.acronyms.regex) do
m1 = Regexp.last_match(1)
m2 = Regexp.last_match(2)
- "#{m1 ? '_' : '' }#{m2.downcase}"
+ "#{m1 ? "_" : ""}#{m2.downcase}"
end
input.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2')
input.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
@@ -305,9 +306,9 @@
# @since 0.2.0
# @api public
def to_s
- '#<Dry::Inflector>'
+ "#<Dry::Inflector>"
end
- alias inspect to_s
+ alias_method :inspect, :to_s
private
@@ -325,7 +326,7 @@
# @api private
def internal_camelize(input, upper)
input = input.to_s.dup
- input.sub!(/^[a-z\d]*/) { |match| inflections.acronyms.apply_to(match,
upper) }
+ input.sub!(/^[a-z\d]*/) { |match| inflections.acronyms.apply_to(match,
capitalize: upper) }
input.gsub!(%r{(?:_|(/))([a-z\d]*)}i) do
m1 = Regexp.last_match(1)
m2 = Regexp.last_match(2)
@@ -334,6 +335,5 @@
input.gsub!("/", "::")
input
end
-
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/dry-inflector.rb new/lib/dry-inflector.rb
--- old/lib/dry-inflector.rb 2019-10-13 12:56:59.000000000 +0200
+++ new/lib/dry-inflector.rb 2021-06-30 10:46:07.000000000 +0200
@@ -1 +1,3 @@
-require 'dry/inflector'
+# frozen_string_literal: true
+
+require "dry/inflector"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2019-10-13 12:56:59.000000000 +0200
+++ new/metadata 2021-06-30 10:46:07.000000000 +0200
@@ -1,16 +1,16 @@
--- !ruby/object:Gem::Specification
name: dry-inflector
version: !ruby/object:Gem::Version
- version: 0.2.0
+ version: 0.2.1
platform: ruby
authors:
- Luca Guidi
- Andrii Savchenko
- Abinoam P. Marques Jr.
autorequire:
-bindir: exe
+bindir: bin
cert_chain: []
-date: 2019-10-13 00:00:00.000000000 Z
+date: 2021-06-30 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: bundler
@@ -30,44 +30,30 @@
name: rake
requirement: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ">="
- !ruby/object:Gem::Version
- version: '12.0'
+ version: '0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ">="
- !ruby/object:Gem::Version
- version: '12.0'
+ version: '0'
- !ruby/object:Gem::Dependency
name: rspec
requirement: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
- - !ruby/object:Gem::Version
- version: '3.7'
- type: :development
- prerelease: false
- version_requirements: !ruby/object:Gem::Requirement
- requirements:
- - - "~>"
- - !ruby/object:Gem::Version
- version: '3.7'
-- !ruby/object:Gem::Dependency
- name: rubocop
- requirement: !ruby/object:Gem::Requirement
- requirements:
- - - "~>"
+ - - ">="
- !ruby/object:Gem::Version
- version: 0.50.0
+ version: '0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ">="
- !ruby/object:Gem::Version
- version: 0.50.0
+ version: '0'
description: String inflections for dry-rb
email:
- [email protected]
@@ -78,7 +64,7 @@
extra_rdoc_files: []
files:
- CHANGELOG.md
-- LICENSE.md
+- LICENSE
- README.md
- dry-inflector.gemspec
- lib/dry-inflector.rb
@@ -88,7 +74,7 @@
- lib/dry/inflector/inflections/defaults.rb
- lib/dry/inflector/rules.rb
- lib/dry/inflector/version.rb
-homepage: https://dry-rb.org
+homepage: https://dry-rb.org/gems/dry-inflector
licenses:
- MIT
metadata:
@@ -104,15 +90,15 @@
requirements:
- - ">="
- !ruby/object:Gem::Version
- version: '2.4'
+ version: 2.6.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.6
signing_key:
specification_version: 4
-summary: DRY Inflector
+summary: String inflections for dry-rb
test_files: []