Class: AnalyticsOps::Connection

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

Overview

Configuration-free Google connection used by discovery and setup.

Defined Under Namespace

Classes: Verification

Constant Summary collapse

PROPERTY_ID =
/\A\d{1,50}\z/

Instance Method Summary collapse

Constructor Details

#initialize(admin: nil, data: nil, service_account: nil, transport: :grpc, timeout: nil, logger: nil) ⇒ Connection

Returns a new instance of Connection.



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/analytics_ops/connection.rb', line 26

def initialize(admin: nil, data: nil, service_account: nil, transport: :grpc, timeout: nil, logger: nil)
  unless .nil? || .is_a?(ServiceAccount)
    raise ConfigurationError, "service_account must be an AnalyticsOps::ServiceAccount"
  end

  @admin = admin
  @data = data
  @service_account = 
  @transport = transport
  @timeout = timeout
  @logger = logger
end

Instance Method Details

#discoverArray[Resources::Account]

Returns:



39
40
41
# File 'lib/analytics_ops/connection.rb', line 39

def discover
  admin.discover
end

#propertiesArray[Resources::Account]

Returns:



43
44
45
# File 'lib/analytics_ops/connection.rb', line 43

def properties
  admin.discover(include_streams: false)
end

#verify(property_id) ⇒ Verification

Parameters:

  • property_id (String)

Returns:



47
48
49
50
51
52
53
54
55
# File 'lib/analytics_ops/connection.rb', line 47

def verify(property_id)
  unless property_id.is_a?(String) && PROPERTY_ID.match?(property_id)
    raise ConfigurationError, "Invalid property ID; expected a numeric string"
  end

  property = admin.property_access(property_id)
  data.run(property.id, connectivity_definition)
  Verification.new(property:)
end