Class: Swa::Record
Direct Known Subclasses
Athena::Catalog, Athena::Database, Athena::QueryExecution, Athena::WorkGroup, ELB::LoadBalancer, Glue::Crawl, Glue::Crawler, Glue::Database, Glue::Job, Glue::JobBookmarkEntry, Glue::JobRun, Glue::Partition, Glue::Table, KMS::Alias, KMS::Key, LakeFormation::Permission, LakeFormation::ResourceInfo, S3::ObjectListEntry
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(aws_record) ⇒ Record
Returns a new instance of Record.
19
20
21
|
# File 'lib/swa/record.rb', line 19
def initialize(aws_record)
@aws_record = aws_record
end
|
Class Method Details
.delegate(*methods) ⇒ Object
31
32
33
|
# File 'lib/swa/record.rb', line 31
def self.delegate(*methods)
def_delegators :aws_record, *methods
end
|
.list(records) ⇒ Object
8
9
10
|
# File 'lib/swa/record.rb', line 8
def self.list(records)
records.lazy.map(&method(:new))
end
|
.list_from_query(client, query_method, response_key, **query_args) ⇒ Object
12
13
14
15
16
17
|
# File 'lib/swa/record.rb', line 12
def self.list_from_query(client, query_method, response_key, **query_args)
records = client.public_send(query_method, **query_args).each.lazy.flat_map { |page|
page.public_send(response_key)
}
list(records)
end
|
Instance Method Details
#data ⇒ Object
25
26
27
|
# File 'lib/swa/record.rb', line 25
def data
stringify_keys(aws_record.to_h)
end
|