Class: Smplkit::Audit::ResourceTypes

Inherits:
Object
  • Object
show all
Defined in:
lib/smplkit/audit/resource_types.rb

Overview

client.audit.resource_types.list — distinct resource_type slugs seen for the account.

Backed by a maintain-by-write side table (ADR-047 §2.5), so the response time is independent of how many years of events the account has accumulated. Sorted alphabetically; offset pagination (page_number / page_size) per ADR-014.

Instance Method Summary collapse

Constructor Details

#initialize(api) ⇒ ResourceTypes

Returns a new instance of ResourceTypes.



13
14
15
# File 'lib/smplkit/audit/resource_types.rb', line 13

def initialize(api)
  @api = api
end

Instance Method Details

#list(page_number: nil, page_size: nil, meta_total: nil) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/smplkit/audit/resource_types.rb', line 17

def list(page_number: nil, page_size: nil, meta_total: nil)
  opts = {}
  opts[:page_number] = page_number if page_number
  opts[:page_size] = page_size if page_size
  opts[:meta_total] = meta_total unless meta_total.nil?

  resp = Smplkit::Audit.call_api { @api.list_resource_types(opts) }
  rows = (resp.data || []).map { |r| ResourceType.from_resource(r) }
  ResourceTypeListPage.new(rows, Smplkit::Audit.extract_pagination(resp.meta))
end