Completed
Push — master ( 001e31...14458d )
by Marcelo
01:22
created

Base   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 17
rs 10
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A coerce() 0 3 1
A default_value() 0 5 1
A with_default_value() 0 5 2
1
module Koine
2
  module Attributes
3
    module Adapter
4
      class Base
5
        def coerce(*_values)
6
          raise NotImplementedError
7
        end
8
9
        def default_value
10
          @default_value.respond_to?(:call) &&
11
            @default_value.call ||
12
            @default_value
13
        end
14
15
        def with_default_value(value = nil, &block)
16
          @default_value = value
17
          @default_value = block if block
18
          self
19
        end
20
      end
21
    end
22
  end
23
end
24