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

Base.with_default_value()   A

Complexity

Conditions 2

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
c 1
b 0
f 0
dl 0
loc 5
rs 9.4285
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