Sha256: 71086f1245a2f6a6d7a651bd8ebd8b78129f0d1e6ab23faa43aacae9bf80d1ed

Contents?: true

Size: 1 KB

Versions: 35

Compression:

Stored size: 1 KB

Contents

module Krikri::Enrichments
  ##
  # Enrichment to remove non-genre fields from
  #
  #   StripHtml.new.enrich_value('Book') => 'Book'
  #   StripHtml.new.enrich_value('not a book') => nil
  #
  # Allowed genre terms are:
  #
  #  - Book
  #  - Film/Video
  #  - Manuscript
  #  - Maps
  #  - Music
  #  - Musical Score
  #  - Newspapers
  #  - Nonmusic
  #  - Photograph/Pictorial Works
  #  - Serial
  #
  # Removes all non-string values
  class GenreFilter
    include Audumbla::FieldEnrichment

    TERMS = ['Book',
             'Film/Video',
             'Manuscript',
             'Maps',
             'Music',
             'Musical Score',
             'Newspapers',
             'Nonmusic',
             'Photograph/Pictorial Works',
             'Serial']

    def enrich_value(value)
      return nil unless value.is_a? String
      term = TERMS.select do |t|
        t.downcase.gsub(/[^a-zA-Z]/, '') ==
          value.downcase.gsub(/[^a-zA-Z]/, '')
      end
      term.empty? ? nil : term.first
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
krikri-0.15.2 lib/krikri/enrichments/genre_filter.rb
krikri-0.15.1 lib/krikri/enrichments/genre_filter.rb
krikri-0.15.0 lib/krikri/enrichments/genre_filter.rb
krikri-0.14.0 lib/krikri/enrichments/genre_filter.rb
krikri-0.13.2 lib/krikri/enrichments/genre_filter.rb
krikri-0.13.1 lib/krikri/enrichments/genre_filter.rb
krikri-0.13.0 lib/krikri/enrichments/genre_filter.rb
krikri-0.12.4 lib/krikri/enrichments/genre_filter.rb
krikri-0.12.3 lib/krikri/enrichments/genre_filter.rb
krikri-0.12.1 lib/krikri/enrichments/genre_filter.rb
krikri-0.12.0 lib/krikri/enrichments/genre_filter.rb
krikri-0.12.0.pre.rc.1 lib/krikri/enrichments/genre_filter.rb
krikri-0.11.2 lib/krikri/enrichments/genre_filter.rb
krikri-0.11.1 lib/krikri/enrichments/genre_filter.rb
krikri-0.11.0 lib/krikri/enrichments/genre_filter.rb
krikri-0.10.1 lib/krikri/enrichments/genre_filter.rb
krikri-0.10.0 lib/krikri/enrichments/genre_filter.rb
krikri-0.9.0 lib/krikri/enrichments/genre_filter.rb
krikri-0.8.9 lib/krikri/enrichments/genre_filter.rb
krikri-0.8.8 lib/krikri/enrichments/genre_filter.rb