Class: ActsAsFerret::RemoteMultiIndex
- Inherits:
-
MultiIndexBase
- Object
- MultiIndexBase
- ActsAsFerret::RemoteMultiIndex
- Includes:
- RemoteFunctions
- Defined in:
- lib/acts_as_ferret/remote_multi_index.rb
Instance Attribute Summary
Attributes inherited from MultiIndexBase
Instance Method Summary (collapse)
- - (Object) find_ids(query, options, &proc)
-
- (RemoteMultiIndex) initialize(indexes, options = {})
constructor
A new instance of RemoteMultiIndex.
- - (Object) method_missing(name, *args)
Methods inherited from MultiIndexBase
#ar_find, #determine_stored_fields, #shared?
Methods included from FerretFindMethods
#ar_find, #count_records, #find_id_model_arrays, #find_records, #lazy_find, #scope_query_to_models
Constructor Details
- (RemoteMultiIndex) initialize(indexes, options = {})
A new instance of RemoteMultiIndex
5 6 7 8 9 |
# File 'lib/acts_as_ferret/remote_multi_index.rb', line 5 def initialize(indexes, = {}) @index_names = indexes.map(&:index_name) @server = DRbObject.new(nil, ActsAsFerret::remote) super end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
- (Object) method_missing(name, *args)
16 17 18 |
# File 'lib/acts_as_ferret/remote_multi_index.rb', line 16 def method_missing(name, *args) handle_drb_error { @server.send(:multi_#{name}", @index_names, *args) } end |
Instance Method Details
- (Object) find_ids(query, options, &proc)
11 12 13 14 |
# File 'lib/acts_as_ferret/remote_multi_index.rb', line 11 def find_ids(query, , &proc) total_hits, results = handle_drb_error([0, []]) { @server.multi_find_ids(@index_names, query, ) } block_given? ? yield_results(total_hits, results, &proc) : [ total_hits, results ] end |