Class: ApplicationInsights::Channel::Contracts::Location

Inherits:
JsonSerializable show all
Defined in:
lib/application_insights/channel/contracts/location.rb

Overview

Data contract class for type Location.

Instance Method Summary collapse

Methods inherited from JsonSerializable

#to_h, #to_json

Constructor Details

#initialize(options = {}) ⇒ Location

Initializes a new instance of the Location class.



9
10
11
12
13
14
15
16
# File 'lib/application_insights/channel/contracts/location.rb', line 9

def initialize(options={})
  defaults = {
    'ai.location.ip' => nil
  }
  values = {
  }
  super defaults, values, options
end

Instance Method Details

#ipObject

Gets the ip property.



19
20
21
22
23
# File 'lib/application_insights/channel/contracts/location.rb', line 19

def ip
  @values.fetch('ai.location.ip') { 
    @values['ai.location.ip'] = nil
  }
end

#ip=(value) ⇒ Object

Sets the ip property.



26
27
28
29
30
31
32
# File 'lib/application_insights/channel/contracts/location.rb', line 26

def ip=(value)
  if value == @defaults['ai.location.ip']
    @values.delete 'ai.location.ip' if @values.key? 'ai.location.ip'
  else
    @values['ai.location.ip'] = value
  end
end