class Zn::SearchAssembly
Provides a higher level API for search and relational logic
Attributes
datasets[R]
Public Class Methods
new()
click to toggle source
# File lib/zn/search_assembly.rb, line 8 def initialize @datasets = {} end
Public Instance Methods
add_dataset(name, dataset)
click to toggle source
# File lib/zn/search_assembly.rb, line 12 def add_dataset(name, dataset) @datasets[name] = dataset end
associate(entities, options) { |merge| ... }
click to toggle source
# File lib/zn/search_assembly.rb, line 24 def associate(entities, options) return enum_for(:associate, entities, options) unless block_given? dataset(options).associate(entities) do |entity, associations| yield entity.merge(associations) end end
dataset_keys(options)
click to toggle source
# File lib/zn/search_assembly.rb, line 20 def dataset_keys(options) dataset(options).keys end
dataset_names()
click to toggle source
# File lib/zn/search_assembly.rb, line 16 def dataset_names datasets.keys end
search(options) { |result| ... }
click to toggle source
# File lib/zn/search_assembly.rb, line 32 def search(options) return enum_for(:search, options) unless block_given? dataset(options).search(options) do |result| yield result end end
Private Instance Methods
dataset(options)
click to toggle source
# File lib/zn/search_assembly.rb, line 42 def dataset(options) dataset_name = options.fetch(:dataset) datasets.fetch(dataset_name) end