Sha256: a499219db8c6431fef6254028e029da73cd9413f96d66a764186c1b2d881c976

Contents?: true

Size: 821 Bytes

Versions: 8

Compression:

Stored size: 821 Bytes

Contents

# Comfortable API convenience class, splits methods to indexes.
#
class IndexesAPI # :nodoc:all
  
  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
  end
  
  def [] name
    name = name.to_sym
    
    self.index_mapping[name]
  end
  
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
picky-1.4.1 lib/picky/indexes_api.rb
picky-1.4.0 lib/picky/indexes_api.rb
picky-1.3.4 lib/picky/indexes_api.rb
picky-1.3.3 lib/picky/indexes_api.rb
picky-1.3.2 lib/picky/indexes_api.rb
picky-1.3.1 lib/picky/indexes_api.rb
picky-1.3.0 lib/picky/indexes_api.rb
picky-1.2.4 lib/picky/indexes_api.rb