Class: Sumologic::Metadata::Field

Inherits:
Object
  • Object
show all
Includes:
Loggable
Defined in:
lib/sumologic/metadata/field.rb

Overview

Handles field operations Uses GET /v1/fields and GET /v1/fields/builtin endpoints

Instance Method Summary collapse

Constructor Details

#initialize(http_client:) ⇒ Field

Returns a new instance of Field.



12
13
14
# File 'lib/sumologic/metadata/field.rb', line 12

def initialize(http_client:)
  @http = http_client
end

Instance Method Details

#listArray<Hash>

List custom fields

Returns:

  • (Array<Hash>)

    Array of custom field data



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sumologic/metadata/field.rb', line 19

def list
  data = @http.request(
    method: :get,
    path: '/fields'
  )

  fields = data['data'] || []
  log_info "Fetched #{fields.size} custom fields"
  fields
rescue StandardError => e
  raise Error, "Failed to list fields: #{e.message}"
end

#list_builtinArray<Hash>

List built-in fields

Returns:

  • (Array<Hash>)

    Array of built-in field data



35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/sumologic/metadata/field.rb', line 35

def list_builtin
  data = @http.request(
    method: :get,
    path: '/fields/builtin'
  )

  fields = data['data'] || []
  log_info "Fetched #{fields.size} built-in fields"
  fields
rescue StandardError => e
  raise Error, "Failed to list built-in fields: #{e.message}"
end