class StackMaster::StackEvents::Fetcher

Public Class Methods

fetch(stack_name, region, **args) click to toggle source
# File lib/stack_master/stack_events/fetcher.rb, line 4
def self.fetch(stack_name, region, **args)
  new(stack_name, region, **args).fetch
end
new(stack_name, region, from: nil) click to toggle source
# File lib/stack_master/stack_events/fetcher.rb, line 8
def initialize(stack_name, region, from: nil)
  @stack_name = stack_name
  @region = region
  @from = from
end

Public Instance Methods

fetch() click to toggle source
# File lib/stack_master/stack_events/fetcher.rb, line 14
def fetch
  events = fetch_events
  if @from
    filter_old_events(events)
  else
    events
  end
end

Private Instance Methods

cf() click to toggle source
# File lib/stack_master/stack_events/fetcher.rb, line 25
def cf
  @cf ||= StackMaster.cloud_formation_driver
end
fetch_events() click to toggle source
# File lib/stack_master/stack_events/fetcher.rb, line 33
def fetch_events
  PagedResponseAccumulator.call(cf, :describe_stack_events, { stack_name: @stack_name }, :stack_events).stack_events
end
filter_old_events(events) click to toggle source
# File lib/stack_master/stack_events/fetcher.rb, line 29
def filter_old_events(events)
  events.select { |event| event.timestamp > @from }
end