push
circleci
2 of 7 new or added lines in 2 files covered. (28.57%)
2467 existing lines in 97 files now uncovered.1089 of 3854 relevant lines covered (28.26%)
0.29 hits per line
1 |
class EmbargoDateExtractor |
1✔ |
2 |
def initialize(record) |
1✔ |
UNCOV
3
|
@record = record
|
× |
4 |
end
|
|
5 |
|
|
6 |
def dates |
1✔ |
UNCOV
7
|
@dates ||= extract_dates
|
× |
8 |
end
|
|
9 |
|
|
10 |
private |
1✔ |
11 |
|
|
12 |
def extract_dates |
1✔ |
UNCOV
13
|
restriction_notes = @record.select do |field| |
× |
UNCOV
14
|
field.tag == '506' &&
|
× |
UNCOV
15
|
field.any? { |subfield| subfield.code == '5' && subfield.value == 'NjP' } && |
× |
UNCOV
16
|
field.any? { |subfield| subfield.code == 'g' }
|
× |
17 |
end
|
|
UNCOV
18
|
restriction_notes.map { |field| parse_date(field['g']) }.compact
|
× |
19 |
end
|
|
20 |
|
|
21 |
def parse_date(string) |
1✔ |
UNCOV
22
|
year = string[0..3].to_i |
× |
UNCOV
23
|
month = string[4..5].to_i |
× |
UNCOV
24
|
day = string[6..7].to_i |
× |
UNCOV
25
|
Date.new(year, month, day) if Date.valid_date?(year, month, day) |
× |
26 |
end
|
|
27 |
end
|