Method: Csquery::Expression#initialize

Defined in:
lib/csquery/expression.rb

#initialize(operator, *args, options: {}, **kwargs) ⇒ Expression

Returns a new instance of Expression.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/csquery/expression.rb', line 3

def initialize(operator, *args, options: {}, **kwargs)
  @operator = operator
  @options = options
  @fields = []

  args.each do |arg|
    if arg.is_a? FieldValue
      @fields << arg
    else
      @fields << FieldValue.new(value: arg)
    end
  end

  kwargs.sort_by {|k, _| k }.each do |k, v|
    @fields << FieldValue.new(name: k, value: v)
  end
end