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

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