Class: Swa::Record

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
DataPresentation
Defined in:
lib/swa/record.rb

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

#dataObject



25
26
27
# File 'lib/swa/record.rb', line 25

def data
  stringify_keys(aws_record.to_h)
end