Class: AmplitudeAnalytics::IngestionMetadata

Inherits:
Object
  • Object
show all
Defined in:
lib/amplitude/event.rb

Overview

IngestionMetadata

Constant Summary collapse

INGESTION_METADATA_KEY_MAPPING =
{
  'source_name' => ['source_name', String],
  'source_version' => ['source_version', String]
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source_name: nil, source_version: nil) ⇒ IngestionMetadata



13
14
15
16
# File 'lib/amplitude/event.rb', line 13

def initialize(source_name: nil, source_version: nil)
  @source_name = source_name
  @source_version = source_version
end

Instance Attribute Details

#source_nameObject

Returns the value of attribute source_name.



11
12
13
# File 'lib/amplitude/event.rb', line 11

def source_name
  @source_name
end

#source_versionObject

Returns the value of attribute source_version.



11
12
13
# File 'lib/amplitude/event.rb', line 11

def source_version
  @source_version
end

Instance Method Details

#bodyObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/amplitude/event.rb', line 18

def body
  result = {}
  INGESTION_METADATA_KEY_MAPPING.each do |key, mapping|
    next unless instance_variable_defined?("@#{key}") && !instance_variable_get("@#{key}").nil?

    value = instance_variable_get("@#{key}")
    if value.is_a?(mapping[1])
      result[mapping[0]] = value
    else
      puts "#{self.class}.#{key} expected #{mapping[1]} but received #{value.class}."
    end
  end
  result
end