Module: AwsReporting::Command::Serve

Defined in:
lib/aws-reporting/command/serve.rb

Class Method Summary collapse

Class Method Details

.run(opts, args) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/aws-reporting/command/serve.rb', line 4

def run(opts, args)
  begin
    help = opts['h']
    if help
      puts opts.help
      return
    end

    port = opts['port'] || 23456
    raise AwsReporting::Error::CommandArgumentError.new unless args.length == 1
    path = args[0]

    server = AwsReporting::Server.new(path, port)

    Signal.trap(:INT){
      server.stop
    }

    server.start
  rescue AwsReporting::Error::CommandArgumentError
    puts opts.help
  end
end