Module: Esse::Index::RequestConfigurable::DSL

Defined in:
lib/esse/index/request_configurable.rb

Instance Method Summary collapse

Instance Method Details

#request_params(*operations, **params, &block) ⇒ Object



70
71
72
73
74
75
76
77
78
79
# File 'lib/esse/index/request_configurable.rb', line 70

def request_params(*operations, **params, &block)
  operations.each do |operation|
    raise ArgumentError, "Invalid operation: #{operation}" unless OPERATIONS.include?(operation)

    @request_params ||= Container.new
    @request_params.add(operation, RequestParams.new(operation, params, &block))
  end

  self
end

#request_params_for(operation, doc, bulk: false) ⇒ Object



81
82
83
84
85
86
87
88
89
90
91
# File 'lib/esse/index/request_configurable.rb', line 81

def request_params_for(operation, doc, bulk: false)
  return {} unless request_params_for?(operation)

  params = @request_params.retrieve(operation, doc)

  if bulk && BULK_OPERATIONS_AND_PARAMS.key?(operation)
    params.slice(*BULK_OPERATIONS_AND_PARAMS[operation])
  else
    params
  end
end

#request_params_for?(operation) ⇒ Boolean

Returns:

  • (Boolean)


93
94
95
96
97
# File 'lib/esse/index/request_configurable.rb', line 93

def request_params_for?(operation)
  return false unless @request_params

  @request_params.key?(operation)
end