Class: AnalyticsOps::Reports::FieldList

Inherits:
Object
  • Object
show all
Defined in:
lib/analytics_ops/reports/metadata.rb,
sig/analytics_ops.rbs

Overview

Immutable search result with enough context for human and JSON output.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(property_id:, query:, kind:, fields:) ⇒ FieldList

Returns a new instance of FieldList.



77
78
79
80
81
82
83
# File 'lib/analytics_ops/reports/metadata.rb', line 77

def initialize(property_id:, query:, kind:, fields:)
  @property_id = property_id.dup.freeze
  @query = query&.dup&.freeze
  @kind = kind&.dup&.freeze
  @fields = fields.dup.freeze
  freeze
end

Instance Attribute Details

#fieldsArray[Field] (readonly)

Returns the value of attribute fields.

Returns:



75
76
77
# File 'lib/analytics_ops/reports/metadata.rb', line 75

def fields
  @fields
end

#kindString? (readonly)

Returns the value of attribute kind.

Returns:

  • (String, nil)


75
76
77
# File 'lib/analytics_ops/reports/metadata.rb', line 75

def kind
  @kind
end

#property_idString (readonly)

Returns the value of attribute property_id.

Returns:

  • (String)


75
76
77
# File 'lib/analytics_ops/reports/metadata.rb', line 75

def property_id
  @property_id
end

#queryString? (readonly)

Returns the value of attribute query.

Returns:

  • (String, nil)


75
76
77
# File 'lib/analytics_ops/reports/metadata.rb', line 75

def query
  @query
end

Instance Method Details

#to_hrecord

Returns:

  • (record)


85
86
87
88
89
90
91
92
# File 'lib/analytics_ops/reports/metadata.rb', line 85

def to_h
  {
    "property_id" => property_id,
    "query" => query,
    "kind" => kind,
    "fields" => fields.map(&:to_h)
  }
end