Class: Groonga::Client::Request::Select::ScriptSyntaxExpressionParameter

Inherits:
Object
  • Object
show all
Includes:
ScriptSyntaxValueEscapable
Defined in:
lib/groonga/client/request/select.rb

Direct Known Subclasses

FilterExpressionParameter

Instance Method Summary collapse

Constructor Details

#initialize(name, expression, values) ⇒ ScriptSyntaxExpressionParameter

Returns a new instance of ScriptSyntaxExpressionParameter.



355
356
357
358
359
# File 'lib/groonga/client/request/select.rb', line 355

def initialize(name, expression, values)
  @name = name
  @expression = expression
  @values = values
end

Instance Method Details

#to_parametersObject



361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
# File 'lib/groonga/client/request/select.rb', line 361

def to_parameters
  case @expression
  when String
    return {} if /\A\s*\z/ === @expression
    expression = @expression
  when NilClass
    return {}
  else
    expression = @expression
  end

  case @values
  when ::Hash
    escaped_values = {}
    @values.each do |key, value|
      escaped_values[key] = escape_script_syntax_value(value)
    end
    expression = expression % escaped_values
  when ::Array
    escaped_values = @values.collect do |value|
      escape_script_syntax_value(value)
    end
    expression = expression % escaped_values
  end

  {
    @name => expression,
  }
end