lib/relaton_nist/nist_bibliography.rb in relaton-nist-1.9.4 vs lib/relaton_nist/nist_bibliography.rb in relaton-nist-1.9.6

- old
+ new

@@ -26,20 +26,21 @@ # @option opts [TrueClass, FalseClass] :all_parts restricted to all parts # if all-parts reference is required # @option opts [TrueClass, FalseClass] :bibdata # # @return [String] Relaton XML serialisation of reference - def get(code, year = nil, opts = {}) - return fetch_ref_err(code, year, []) if code.match? /\sEP$/ + def get(code, year = nil, opts = {}) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity + return fetch_ref_err(code, year, []) if code.match?(/\sEP$/) - /^(?<code2>[^\(]+)(\((?<date2>\w+\s(\d{2},\s)?\d{4})\))?\s?\(?((?<=\()(?<stage>[^\)]+))?/ =~ code + /^(?<code2>[^(]+)(?:\((?<date2>\w+\s(?:\d{2},\s)?\d{4})\))?\s?\(?(?:(?<=\()(?<stage>[^\)]+))?/ =~ code stage ||= /(?<=\.)PD-\w+(?=\.)/.match(code)&.to_s if code2 code = code2.strip if date2 - if /\w+\s\d{4}/.match? date2 + case date2 + when /\w+\s\d{4}/ opts[:issued_date] = Date.strptime date2, "%B %Y" - elsif /\w+\s\d{2},\s\d{4}/.match? date2 + when /\w+\s\d{2},\s\d{4}/ opts[:updated_date] = Date.strptime date2, "%B %d, %Y" end end opts[:stage] = stage if stage end