Completed
Push — master ( 74519f...bcfd93 )
by Marcelo
40s
created

HashOf.for_values()   A

Complexity

Conditions 1

Size

Total Lines 3

Duplication

Lines 3
Ratio 100 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 3
loc 3
rs 10
cc 1
1
module Koine
2
  module Attributes
3
    module Adapter
4 View Code Duplication
      class HashOf < Base
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
5
        def initialize(key_adapter, value_adapter)
6
          @key_adapter = key_adapter || raise(ArgumentError, 'Invalid key adapter')
7
          @value_adapter = value_adapter || raise(ArgumentError, 'Invalid value adapter')
8
          with_default_value({})
9
        end
10
11
        def for_keys
12
          @key_adapter
13
        end
14
15
        def for_values
16
          @value_adapter
17
        end
18
19
        private
20
21
        def coerce_not_nil(hash)
22
          secure do
23
            {}.tap do |new_hash|
24
              hash.each do |key, value|
25
                key = @key_adapter.coerce(key)
26
                value = @value_adapter.coerce(value)
27
                new_hash[key] = value
28
              end
29
            end
30
          end
31
        end
32
      end
33
    end
34
  end
35
end
36