alagu/pagoda

View on GitHub
bin/pagoda

Summary

Maintainability
Test Coverage
#!/usr/bin/env ruby

$:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])



help = <<HELP
Pagoda is a Jekyll editor

Basic Command Line Usage:
  pagoda [OPTIONS] [PATH]

    PATH  The path to the Jekyll repository (default .).

Options:
HELP

require 'optparse'
require 'rubygems'
require 'pagoda/app'
require 'sidekiq/web'

options = { 'port' => 4567, 'bind' => '0.0.0.0' }

opts = OptionParser.new do |opts|
  opts.banner = help

  opts.on("--port [PORT]", "Bind port (default 4567).") do |port|
    options['port'] = port.to_i
  end
end

if ARGV.length == 0
  puts "Hello, please pass repository as a parameter.\n\n"
  puts " $ bin/pagoda git@github.com:user/repo\n\n"
  exit
else
  repo_src = ARGV.first
end

# Read command line options into `options` hash
begin
  opts.parse!
  
rescue OptionParser::InvalidOption
  puts "pagoda: #{$!.message}"
  puts "pagoda: try 'pagoda --help' for more information"
  exit
end

Shwedagon::App.set :repo_src, repo_src
Shwedagon::App.run!(options)