Completed
Push — master ( a85492...c24669 )
by Marcelo
32s
created

String   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
c 1
b 0
f 0
dl 0
loc 20
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A trim_empty_spaces() 0 4 1
A empty_to_nil() 0 4 1
A coerce() 0 8 1
1
module Koine
2
  module Attributes
3
    module Adapter
4
      class String < Base
5
        def empty_to_nil
6
          @empty_to_nil = true
7
          self
8
        end
9
10
        def trim_empty_spaces
11
          @trim_empty_spaces = true
12
          self
13
        end
14
15
        def coerce(value)
16
          secure do
17
            value = String(value)
18
            value = value.strip if @trim_empty_spaces
19
            return nil if value.empty? && @empty_to_nil
20
            value
21
          end
22
        end
23
      end
24
    end
25
  end
26
end
27