hanami-utils 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/hanami-utils.gemspec +1 -1
- data/lib/hanami/utils.rb +2 -0
- data/lib/hanami/utils/blank.rb +1 -1
- data/lib/hanami/utils/class.rb +1 -1
- data/lib/hanami/utils/escape.rb +1 -1
- data/lib/hanami/utils/kernel.rb +10 -3
- data/lib/hanami/utils/query_string.rb +5 -1
- data/lib/hanami/utils/string.rb +2 -2
- data/lib/hanami/utils/version.rb +1 -1
- metadata +11 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ce0408c150374d1f7aef2ef64925d468895f53482d8b72100a11a22afb39e3a
|
4
|
+
data.tar.gz: 988097d501d059411c20bacca9f0f08d815f686a99e1ddbc104d79f7b2b3c77b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6ede67a74c58108af91dd720a90fc51968e55486ad4a3267979ef2cf2b401f5280e644e72569f3c08a70e003903cc277ae3d73efde003612444729f55173971
|
7
|
+
data.tar.gz: 274ec74358b9792014daaba6c212ac7fae5970742aa748ba1eec4ae21840de0dc7503ff4f2b153ec552f1c5462f9c12299d6198ea7be01e35a1434c4968833ba
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,15 @@
|
|
1
1
|
# Hanami::Utils
|
2
2
|
Ruby core extentions and class utilities for Hanami
|
3
3
|
|
4
|
+
## v1.3.1 - 2019-01-18
|
5
|
+
### Added
|
6
|
+
- [Luca Guidi] Official support for Ruby: MRI 2.6
|
7
|
+
- [Luca Guidi] Support `bundler` 2.0+
|
8
|
+
|
9
|
+
### Fixed
|
10
|
+
- [Alfonso Uceda] Fix `Hash` serialization for `Utils::Logger`
|
11
|
+
- [Jeff Dickey] Add missing `pathname` require in `lib/hanami/utils.rb`
|
12
|
+
|
4
13
|
## v1.3.0 - 2018-10-24
|
5
14
|
|
6
15
|
## v1.3.0.beta1 - 2018-08-08
|
data/hanami-utils.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_dependency 'transproc', '~> 1.0'
|
22
22
|
spec.add_dependency 'concurrent-ruby', '~> 1.0'
|
23
23
|
|
24
|
-
spec.add_development_dependency 'bundler', '
|
24
|
+
spec.add_development_dependency 'bundler', '>= 1.6', '< 3'
|
25
25
|
spec.add_development_dependency 'rake', '~> 12'
|
26
26
|
spec.add_development_dependency 'rspec', '~> 3.7'
|
27
27
|
end
|
data/lib/hanami/utils.rb
CHANGED
data/lib/hanami/utils/blank.rb
CHANGED
data/lib/hanami/utils/class.rb
CHANGED
data/lib/hanami/utils/escape.rb
CHANGED
@@ -353,7 +353,7 @@ module Hanami
|
|
353
353
|
9824 => 'spades', # black spade suit
|
354
354
|
9827 => 'clubs', # black club suit
|
355
355
|
9829 => 'hearts', # black heart suit
|
356
|
-
9830 => 'diams'
|
356
|
+
9830 => 'diams' # black diamond suit
|
357
357
|
}.freeze
|
358
358
|
|
359
359
|
# Allowed URL schemes
|
data/lib/hanami/utils/kernel.rb
CHANGED
@@ -26,7 +26,7 @@ module Hanami
|
|
26
26
|
# @api private
|
27
27
|
#
|
28
28
|
# @see Hanami::Utils::Kernel.Integer
|
29
|
-
NUMERIC_MATCHER = %r{\A([\d\/\.\+iE]+|NaN|Infinity)\z}
|
29
|
+
NUMERIC_MATCHER = %r{\A([\d\/\.\+iE]+|NaN|Infinity)\z}.freeze
|
30
30
|
|
31
31
|
# @since 0.8.0
|
32
32
|
# @api private
|
@@ -415,18 +415,25 @@ module Hanami
|
|
415
415
|
# # Missing #respond_to?
|
416
416
|
# input = BasicObject.new
|
417
417
|
# Hanami::Utils::Kernel.BigDecimal(input) # => TypeError
|
418
|
-
|
418
|
+
#
|
419
|
+
# rubocop:disable Metrics/MethodLength
|
420
|
+
def self.BigDecimal(arg, precision = ::Float::DIG)
|
419
421
|
case arg
|
422
|
+
when NilClass # This is only needed by Ruby 2.6
|
423
|
+
raise TypeError.new "can't convert #{inspect_type_error(arg)}into BigDecimal"
|
424
|
+
when Rational
|
425
|
+
arg.to_d(precision)
|
420
426
|
when Numeric
|
421
427
|
BigDecimal(arg.to_s)
|
422
428
|
when ->(a) { a.respond_to?(:to_d) }
|
423
429
|
arg.to_d
|
424
430
|
else
|
425
|
-
::Kernel.BigDecimal(arg)
|
431
|
+
::Kernel.BigDecimal(arg, precision)
|
426
432
|
end
|
427
433
|
rescue NoMethodError
|
428
434
|
raise TypeError.new "can't convert #{inspect_type_error(arg)}into BigDecimal"
|
429
435
|
end
|
436
|
+
# rubocop:enable Metrics/MethodLength
|
430
437
|
|
431
438
|
# Coerces the argument to be a Float.
|
432
439
|
#
|
@@ -8,6 +8,10 @@ module Hanami
|
|
8
8
|
#
|
9
9
|
# @since 1.2.0
|
10
10
|
module QueryString
|
11
|
+
# @since 1.3.1
|
12
|
+
# @api private
|
13
|
+
HASH_SEPARATOR = ","
|
14
|
+
|
11
15
|
# Serialize input into a query string
|
12
16
|
#
|
13
17
|
# @param input [Object] the input
|
@@ -20,7 +24,7 @@ module Hanami
|
|
20
24
|
def self.call(input)
|
21
25
|
case input
|
22
26
|
when ::Hash
|
23
|
-
input.
|
27
|
+
input.map { |key, value| "#{key}=#{value.inspect}" }.join(HASH_SEPARATOR)
|
24
28
|
else
|
25
29
|
input.to_s
|
26
30
|
end
|
data/lib/hanami/utils/string.rb
CHANGED
@@ -30,7 +30,7 @@ module Hanami
|
|
30
30
|
#
|
31
31
|
# @since 0.3.0
|
32
32
|
# @api private
|
33
|
-
TOKENIZE_REGEXP = /\((.*)\)
|
33
|
+
TOKENIZE_REGEXP = /\((.*)\)/.freeze
|
34
34
|
|
35
35
|
# Separator for #tokenize
|
36
36
|
#
|
@@ -72,7 +72,7 @@ module Hanami
|
|
72
72
|
#
|
73
73
|
# @since 0.3.4
|
74
74
|
# @api private
|
75
|
-
CLASSIFY_WORD_SEPARATOR = /#{CLASSIFY_SEPARATOR}|#{NAMESPACE_SEPARATOR}|#{UNDERSCORE_SEPARATOR}|#{DASHERIZE_SEPARATOR}
|
75
|
+
CLASSIFY_WORD_SEPARATOR = /#{CLASSIFY_SEPARATOR}|#{NAMESPACE_SEPARATOR}|#{UNDERSCORE_SEPARATOR}|#{DASHERIZE_SEPARATOR}/.freeze
|
76
76
|
|
77
77
|
@__transformations__ = Concurrent::Map.new
|
78
78
|
|
data/lib/hanami/utils/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanami-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luca Guidi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: transproc
|
@@ -42,16 +42,22 @@ dependencies:
|
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.6'
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '3'
|
48
51
|
type: :development
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
52
|
-
- - "
|
55
|
+
- - ">="
|
53
56
|
- !ruby/object:Gem::Version
|
54
57
|
version: '1.6'
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: rake
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -138,8 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
144
|
- !ruby/object:Gem::Version
|
139
145
|
version: '0'
|
140
146
|
requirements: []
|
141
|
-
|
142
|
-
rubygems_version: 2.7.7
|
147
|
+
rubygems_version: 3.0.2
|
143
148
|
signing_key:
|
144
149
|
specification_version: 4
|
145
150
|
summary: Ruby core extentions and Hanami utilities
|