phc_string_format 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb2f0d0c00976c78f68dfc2ebdaa2fa87bbe930aecd1a97a29d41352f6f03bb2
4
- data.tar.gz: 98d1aa8ababe727401fe90b8235f645598037c864d23fc67b9992c6adc3aeeb5
3
+ metadata.gz: 41338e6a8802d92b3e88ce469726ef0c951e00aace68150830af98a5bd61198d
4
+ data.tar.gz: 48a98362995d3773109c0814a5d6882064a5007892e8b7306b0e4faca0cd1833
5
5
  SHA512:
6
- metadata.gz: d237ce6fc74598654b30c18b16688e15407d89e3df3d051282a77d4a8ab9be1d6f06da53927083dbf89cbdb238896004f2cbc20e83bbbd1b4206713dcfafb80b
7
- data.tar.gz: 3c81d00427397be5fe6357e9478eda86864bb35388430a97d86e83839d92409bc29b72c0f1a2bd3524249e2b7591a014f4cdd995abb4c0bba3162009da115f26
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: 6
11
+ max_instance_variables: 5
19
12
 
20
13
  UncommunicativeModuleName:
21
14
  accept:
@@ -17,7 +17,7 @@ Metrics/CyclomaticComplexity:
17
17
  Max: 7
18
18
 
19
19
  Metrics/LineLength:
20
- Max: 110
20
+ Max: 110
21
21
 
22
22
  Metrics/MethodLength:
23
23
  Max: 15
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- phc_string_format (0.3.5)
4
+ phc_string_format (0.3.6)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -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
- ("v=#{version}" if version),
32
- (params.map { |entry| entry.join '=' }.join(',') if params),
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: (parse_version(@version_string) if pick.include?(:version)),
84
- params: (parse_params(@params_string) if pick.include?(: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
- def parse_version(version_string)
110
- parse_params(version_string)['v']
111
- end
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
- def parse_params(params_string)
114
- mapper = ->(param) { param.split '=' }
115
- reducer = lambda do |param, params|
116
- name, value = param
117
- params[name] = value =~ /\A-?\d+(.\d+)?\Z/ ? value.to_i : value
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
 
@@ -1,3 +1,3 @@
1
1
  module PhcStringFormat
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.6"
3
3
  end
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.5
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-04 00:00:00.000000000 Z
11
+ date: 2018-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler