require_relative 'aws_log_cleaner/cloud_watch_logs' require_relative 'aws_log_cleaner/log_group_cleaner' require_relative 'aws_log_cleaner/api_gateway' require_relative 'aws_log_cleaner/api_gateway_retriever' require_relative 'aws_log_cleaner/log_group_filterer' require_relative 'aws_log_cleaner/aws_credentials' require_relative 'aws_log_cleaner/version' module AwsLogCleaner class AwsLogCleaner def initialize(credentials_args, like, clean_orphans) credentials = AwsCredentials.new(credentials_args) cloud_watch_logs = CloudWatchLogs.new(credentials) api_gateway = ApiGateway.new(credentials) api_retriever = ApiGatewayRetriever.new(api_gateway) log_group_filterer = LogGroupFilterer.new(cloud_watch_logs) @log_cleaner = LogGroupCleaner.new( cloud_watch_logs, api_retriever, log_group_filterer, like, clean_orphans ) end def plan @log_cleaner.plan end def delete @log_cleaner.delete end end end