Sha256: ff2c813c34f273b7666c3ee16de0bc464e7c2603b9dc831aaa41c19d64ce5508
Contents?: true
Size: 1.54 KB
Versions: 2
Compression:
Stored size: 1.54 KB
Contents
require "forwardable" require "relaton_bib/version" require "relaton_bib/deep_dup" require "relaton_bib/localized_string" require "relaton_bib/bibliographic_item" require "relaton_bib/hit_collection" require "relaton_bib/hit" module RelatonBib class Error < StandardError; end class RequestError < StandardError; end class << self # @param date [String, Integer, Date] # @param str [Boolean] # @return [Date, nil] def parse_date(date, str = true) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength return date if date.is_a?(Date) case date.to_s when /(?<date>\w+\s\d{4})/ # February 2012 d = Date.strptime($~[:date], "%B %Y") str ? d.strftime("%Y-%m") : d when /(?<date>\w+\s\d{1,2},\s\d{4})/ # February 11, 2012 d = Date.strptime($~[:date], "%B %d, %Y") str ? d.strftime("%Y-%m-%d") : d when /(?<date>\d{4}-\d{2}-\d{2})/ # 2012-02-11 str ? $~[:date] : Date.strptime($~[:date], "%Y-%m-%d") when /(?<date>\d{4}-\d{2})/ # 2012-02 str ? $~[:date] : Date.strptime($~[:date], "%Y-%m") when /(?<date>\d{4})/ # 2012 str ? $~[:date] : Date.strptime($~[:date], "%Y") end end end private # @param array [Array] # @return [Array<String>, String] def single_element_array(array) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity if array.size > 1 array.map { |e| e.is_a?(String) ? e : e.to_hash } else array.first&.is_a?(String) ? array[0] : array.first&.to_hash end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
relaton-bib-1.6.0 | lib/relaton_bib.rb |
relaton-bib-1.6.pre1 | lib/relaton_bib.rb |