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.



417
418
419
420
421
# File 'lib/groonga/client/request/select.rb', line 417

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

Instance Method Details

#to_parametersObject



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
# File 'lib/groonga/client/request/select.rb', line 423

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