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