phc_string_format 0.3.5 → 0.3.6
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/.reek.yml +1 -8
- data/.rubocop.yml +1 -1
- data/Gemfile.lock +1 -1
- data/lib/phc_string_format/phc_string.rb +20 -16
- data/lib/phc_string_format/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41338e6a8802d92b3e88ce469726ef0c951e00aace68150830af98a5bd61198d
|
4
|
+
data.tar.gz: 48a98362995d3773109c0814a5d6882064a5007892e8b7306b0e4faca0cd1833
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94a8ad963cb6f812fb3b613a3755a160c54186fbf574de250254f268f0a5ceeb00ea4927eb2b9f1af56a5eec8c3ef5a5f1165705ce52a103d6b780d955e09e89
|
7
|
+
data.tar.gz: bb96c7aff20a6fca4d6707ec03211c27a8748372b3ce8e35c2ae0b8f557a9671909339c8d3cf1d5049e3893ca2f2ad3d386f671d97d05fa6fcb67ac3c7bd113a
|
data/.reek.yml
CHANGED
@@ -1,21 +1,14 @@
|
|
1
1
|
---
|
2
2
|
detectors:
|
3
3
|
|
4
|
-
FeatureEnvy:
|
5
|
-
exclude:
|
6
|
-
- 'PhcStringFormat::PhcString#parse_params'
|
7
|
-
|
8
4
|
LongParameterList:
|
9
5
|
max_params: 6
|
10
|
-
overrides:
|
11
|
-
initialize:
|
12
|
-
max_params: 6
|
13
6
|
|
14
7
|
TooManyStatements:
|
15
8
|
max_statements: 10
|
16
9
|
|
17
10
|
TooManyInstanceVariables:
|
18
|
-
max_instance_variables:
|
11
|
+
max_instance_variables: 5
|
19
12
|
|
20
13
|
UncommunicativeModuleName:
|
21
14
|
accept:
|
data/.rubocop.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -26,13 +26,12 @@ module PhcStringFormat
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def self.create(id:, version: nil, params: nil, salt: nil, hash: nil, hint: {})
|
29
|
-
PhcString.new
|
29
|
+
PhcString.new \
|
30
30
|
id,
|
31
|
-
(
|
32
|
-
(
|
31
|
+
(Parameters.to_s(v: version) if version),
|
32
|
+
(Parameters.to_s(params) if params),
|
33
33
|
hint.dig(:salt, :encoding) == '7bit' ? salt : B64.encode(salt),
|
34
34
|
B64.encode(hash)
|
35
|
-
)
|
36
35
|
end
|
37
36
|
|
38
37
|
private_class_method :split
|
@@ -80,8 +79,8 @@ module PhcStringFormat
|
|
80
79
|
pick ||= %i[id version params salt hash]
|
81
80
|
{
|
82
81
|
id: (@id if pick.include?(:id)),
|
83
|
-
version: (
|
84
|
-
params: (
|
82
|
+
version: (Parameters.to_h(@version_string)['v'] if pick.include?(:version)),
|
83
|
+
params: (Parameters.to_h(@params_string) if pick.include?(:params)),
|
85
84
|
salt:
|
86
85
|
if pick.include?(:salt)
|
87
86
|
hint.dig(:salt, :encoding) == '7bit' ? @encoded_salt : B64.decode(@encoded_salt)
|
@@ -106,18 +105,23 @@ module PhcStringFormat
|
|
106
105
|
@encoded_salt || !@encoded_hash
|
107
106
|
end
|
108
107
|
|
109
|
-
|
110
|
-
|
111
|
-
|
108
|
+
#
|
109
|
+
# PHC string parameters
|
110
|
+
#
|
111
|
+
module Parameters
|
112
|
+
def self.to_s(params)
|
113
|
+
params ||= {}
|
114
|
+
params.map { |param| param.join '=' }.join(',')
|
115
|
+
end
|
112
116
|
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
117
|
+
def self.to_h(params_string)
|
118
|
+
params_string ||= ''
|
119
|
+
params_string
|
120
|
+
.split(/,/)
|
121
|
+
.map { |param| param.split '=' }
|
122
|
+
.map { |name, value| [name, value =~ /\A-?\d+(.\d+)?\Z/ ? value.to_i : value] }
|
123
|
+
.to_h
|
118
124
|
end
|
119
|
-
params_string ||= ''
|
120
|
-
params_string.split(/,/).map(&mapper).each_with_object({}, &reducer)
|
121
125
|
end
|
122
126
|
end
|
123
127
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phc_string_format
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- naokikimura
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|