Sha256: e90ba6e485e31c9a244923804a385bebce4ebe3b8922bbdfda238d2f0dc1ca43

Contents?: true

Size: 1.13 KB

Versions: 17

Compression:

Stored size: 1.13 KB

Contents

module Blacklight::Marc::Indexer::Dewey
  def dewey_facets(options={})
    translation_map = (options[:translation_map] || "callnumber_map")
    unless translation_map.is_a? Traject::TranslationMap
      translation_map = Traject::TranslationMap.new(translation_map)
    end
    base = options[:base] || :hundreds
    lambda do |record, accumulator, context|
      vals = []
      extractor = Traject::MarcExtractor.new('082a', options)
      vals = extractor.extract(record).select{|v| valid_dewey? v}.collect do |val|
        if base == :hundreds
          c = val[0...1] + '00'
        elsif base == :tens
          c = val[0...2] + '0'
        end
        translation_map[c]
      end
      accumulator.concat vals
    end
  end
  def dewey_text(options={})
    lambda do |record, accumulator, context|
      vals = []
      extractor = Traject::MarcExtractor.new('082a', options)
      vals = extractor.extract(record).select{|v| valid_dewey? v}.collect do |val|
        val.gsub(/\/[.]/,'.').gsub('/',' ')
      end
      accumulator.concat vals unless vals.empty?
    end
  end
  def valid_dewey?(value)
    value =~ /^\d{1,3}(\.\d+)?.*/
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
blacklight-marc-8.1.4 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-8.1.3 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-8.1.2 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-8.1.1 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-8.1.0 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-8.0.0 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-7.2.0 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-7.1.1 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-7.1.0 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-7.0.1 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-6.3.0 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-7.0.0 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-7.0.0.rc1 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-6.2.0 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-6.1.1 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-6.1.0 lib/blacklight/marc/indexer/dewey.rb
blacklight-marc-6.0.0 lib/blacklight/marc/indexer/dewey.rb