Sha256: b713b6016a2dbfc577849e67d42c75d35332f1a3fc2c66b2f2c52fceceb39a2f

Contents?: true

Size: 831 Bytes

Versions: 4

Compression:

Stored size: 831 Bytes

Contents

# Comfortable API convenience class, splits methods to indexes.
#
class IndexesAPI
  
  attr_reader :indexes, :index_mapping
  
  delegate :reload,
           :load_from_cache,
           :to => :@indexed
  
  delegate :check_caches,
           :find,
           :generate_cache_only,
           :generate_index_only,
           :index,
           :index_for_tests,
           :to => :@indexing
  
  def initialize
    @indexes = []
    @index_mapping = {}
    
    @indexed  = Indexed::Indexes.new
    @indexing = Indexing::Indexes.new
  end
  
  def register index
    self.indexes << index
    self.index_mapping[index.name] = index
    
    @indexing.register index.indexing
    @indexed.register  index.indexed # TODO Even necessary?
  end
  
  def [] name
    name = name.to_sym
    
    self.index_mapping[name]
  end
  
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
picky-0.12.3 lib/picky/indexes_api.rb
picky-0.12.2 lib/picky/indexes_api.rb
picky-0.12.1 lib/picky/indexes_api.rb
picky-0.12.0 lib/picky/indexes_api.rb