class AnyStyle::Normalizer
Attributes
keys[R]
keys[R]
skip[RW]
Public Class Methods
new(keys: self.class.keys)
click to toggle source
# File lib/anystyle/normalizer.rb 12 def initialize(keys: self.class.keys) 13 @keys = keys 14 @skip = false 15 end
Public Instance Methods
append(item, key, value)
click to toggle source
# File lib/anystyle/normalizer.rb 25 def append(item, key, value) 26 if item.key?(key) 27 item[key] << value 28 else 29 item[key] = [value] 30 end 31 end
detect_language(string)
click to toggle source
# File lib/anystyle/normalizer/locale.rb 33 def detect_language(string) 34 @ld.detect(string) unless @ld.nil? 35 end
detect_scripts(string)
click to toggle source
# File lib/anystyle/normalizer/locale.rb 37 def detect_scripts(string) 38 ::Unicode::Scripts.scripts(string) if defined?(::Unicode::Scripts) 39 end
doi_extract(value)
click to toggle source
# File lib/anystyle/normalizer/locator.rb 26 def doi_extract(value) 27 value[/10(\.(\d{4,9}\/[-._;()\/:A-Z0-9]+|1002\/\S+)|\/\p{Alnum}{3,})/i] 28 end
each_value(item, keys = keys_for(item)) { |key, value| ... }
click to toggle source
# File lib/anystyle/normalizer.rb 33 def each_value(item, keys = keys_for(item)) 34 keys.each do |key| 35 item[key].each do |value| 36 yield key, value 37 end if item.key?(key) 38 end 39 item 40 end
keys_for(item)
click to toggle source
# File lib/anystyle/normalizer.rb 53 def keys_for(item) 54 if self.class.keys.empty? 55 item.keys 56 else 57 self.class.keys 58 end 59 end
map_values(item, keys = keys_for(item)) { |key, value| ... }
click to toggle source
# File lib/anystyle/normalizer.rb 42 def map_values(item, keys = keys_for(item)) 43 keys.each do |key| 44 if item.key?(key) 45 item[key] = item[key].map { |value| 46 yield key, value 47 }.flatten.reject { |v| v.nil? || v.empty? } 48 end 49 end 50 item 51 end
name()
click to toggle source
# File lib/anystyle/normalizer.rb 17 def name 18 self.class.name 19 end
normalize(item, **opts)
click to toggle source
# File lib/anystyle/normalizer.rb 21 def normalize(item, **opts) 22 raise NotImplementedError 23 end
skip?()
click to toggle source
# File lib/anystyle/normalizer.rb 61 def skip? 62 @skip 63 end