class Ggggsss::Command

Attributes

bucket_name[R]
keyword[R]
path[R]

Public Class Methods

new(args) click to toggle source
# File lib/ggggsss.rb, line 10
def initialize(args)
  @bucket_name = ''
  opt_parser = OptionParser.new
  opt_parser.on('-b BUCKET_NAME', '--bucket-name BUCKET_NAME') {|name| @bucket_name = name }
  opt_parser.banner += ' KEYWORD PATH_PREFIX'

  opt_parser.parse!(args)

  @keyword, @path = *args
end

Public Instance Methods

execute!() click to toggle source
# File lib/ggggsss.rb, line 21
def execute!
  fetcher = S3Fetcher.new(@bucket_name, @path)
  fetcher.fetch!

  fetcher.objects.each do |s3_object|
    collector = LineCollector.new(s3_object.body, @keyword)
    collector.collect!

    printer = ResultPrinter.new(s3_object.key, collector.results)
    printer.print
  rescue => e
    puts "#{s3_object.key}: #{e.message}"
  end
end