Total Complexity | 3 |
Total Lines | 23 |
Duplicated Lines | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | module Koine |
||
4 | class String < Base |
||
5 | def empty_to_nil |
||
6 | with_nil_value(nil) |
||
7 | @empty_to_nil = true |
||
8 | self |
||
9 | end |
||
10 | |||
11 | def trim_empty_spaces |
||
12 | @trim_empty_spaces = true |
||
13 | self |
||
14 | end |
||
15 | |||
16 | private |
||
17 | |||
18 | def coerce_not_nil(value) |
||
19 | secure do |
||
20 | value = String(value) |
||
21 | value = value.strip if @trim_empty_spaces |
||
22 | return nil if value.empty? && @empty_to_nil |
||
23 | value |
||
24 | end |
||
25 | end |
||
26 | end |
||
27 | end |
||
30 |