Sha256: ab9f71d7424d8187bb8b27a2fc31c6e55f0b8ed58fe1230ec12966a61ab253ea

Contents?: true

Size: 972 Bytes

Versions: 17

Compression:

Stored size: 972 Bytes

Contents

# encoding: utf-8
#

# Data source.
#
class Books

  def initialize
    @csv = CSV.new File.open(File.expand_path("../data/#{PICKY_ENVIRONMENT}/library.csv", __FILE__))
  end

  def each
    instance = Struct.new :id, :title, :author, :year
    @csv.each do |row|
      yield instance.new *row[0..3]
    end
  end

end

# Define an index.
#
BooksIndex = Picky::Index.new :books do
  source { Books.new }
  indexing removes_characters: /[^a-z0-9\s\/\-\_\:\"\&\.]/i,
           stopwords:          /\b(and|the|of|it|in|for)\b/i,
           splits_text_on:     /[\s\/\-\_\:\"\&\.]/
  category :title,
           similarity: Picky::Similarity::DoubleMetaphone.new(3),
           partial: Picky::Partial::Substring.new(from: 1) # Default is from: -3.
  category :author, partial: Picky::Partial::Substring.new(from: 1)
  category :year, partial: Picky::Partial::None.new
end

# Index and load on USR1 signal.
#
Signal.trap('USR1') do
  BooksIndex.reindex # kill -USR1 <pid>
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
picky-generators-4.16.0 prototypes/shared/server/books_index.rb
picky-generators-4.15.1 prototypes/shared/server/books_index.rb
picky-generators-4.15.0 prototypes/shared/server/books_index.rb
picky-generators-4.14.0 prototypes/shared/server/books_index.rb
picky-generators-4.13.1 prototypes/shared/server/books_index.rb
picky-generators-4.13.0 prototypes/shared/server/books_index.rb
picky-generators-4.12.13 prototypes/shared/server/books_index.rb
picky-generators-4.12.12 prototypes/shared/server/books_index.rb
picky-generators-4.12.11 prototypes/shared/server/books_index.rb
picky-generators-4.12.10 prototypes/shared/server/books_index.rb
picky-generators-4.12.8 prototypes/shared/server/books_index.rb
picky-generators-4.12.7 prototypes/shared/server/books_index.rb
picky-generators-4.12.6 prototypes/shared/server/books_index.rb
picky-generators-4.12.5 prototypes/shared/server/books_index.rb
picky-generators-4.12.4 prototypes/shared/server/books_index.rb
picky-generators-4.12.3 prototypes/shared/server/books_index.rb
picky-generators-4.12.2 prototypes/shared/server/books_index.rb