Class: Nexpose::Criterion

Inherits:
Object
  • Object
show all
Defined in:
lib/nexpose/filter.rb

Overview

Individual search criterion.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(field, operator, value = '') ⇒ Criterion

Returns a new instance of Criterion.



236
237
238
239
240
241
242
243
# File 'lib/nexpose/filter.rb', line 236

def initialize(field, operator, value = '')
  @field, @operator = field.upcase, operator.upcase
  if value.kind_of? Array
    @value = value.map { |v| v.to_s }
  else
    @value = value.to_s
  end
end

Instance Attribute Details

#fieldObject

Search field. One of Nexpose::Search::Field



230
231
232
# File 'lib/nexpose/filter.rb', line 230

def field
  @field
end

#operatorObject

Search operator. One of Nexpose::Search::Operator



232
233
234
# File 'lib/nexpose/filter.rb', line 232

def operator
  @operator
end

#valueObject

Search value. A search string or one of Nexpose::Search::Value



234
235
236
# File 'lib/nexpose/filter.rb', line 234

def value
  @value
end

Class Method Details

.parse(json) ⇒ Object



253
254
255
256
257
# File 'lib/nexpose/filter.rb', line 253

def self.parse(json)
  Criterion.new(json['metadata']['fieldName'],
                json['operator'],
                json['values'])
end

Instance Method Details

#to_mapObject

Convert this object into the map format expected by Nexpose.



247
248
249
250
251
# File 'lib/nexpose/filter.rb', line 247

def to_map
  { 'metadata' => { 'fieldName' => field },
    'operator' => operator,
    'values' => value.kind_of?(Array) ? value : [value] }
end