Sha256: de2d9e6a4b77b4282eafb9059e94e5f87af201fd373ecbcbfcdf45e1d17b115c

Contents?: true

Size: 1.41 KB

Versions: 1

Compression:

Stored size: 1.41 KB

Contents

# encoding: utf-8
# !/usr/bin/env ruby

require 'optparse'
require 'easy_html_generator'

class EhgOptparse
  def self.parse(args)
    opt_parser = OptionParser.new do |opts|
      opts.banner = 'Usage: ehg [options]'

      # http://hawkins.io/2012/07/rack_from_the_beginning/
      opts.on('-s', '--server [HOST_AND_PORT]', '0.0.0.0:9292', 'start the rack server') do |host_and_port|
        host_and_port ||= '0.0.0.0:9292'

        tmp = host_and_port.split ':'
        host = tmp.first
        port = tmp.last

        EasyHtmlGenerator.start_server(host, port)
      end

      opts.on('-g', '--generate [PROJECT]', '', 'generate one or all projects') do |project|
        EasyHtmlGenerator::Workspace.clean_dist_folder project
        EasyHtmlGenerator::Workspace.generate project
      end

      opts.on('--clean [PROJECT]', '', 'clean one or all projects dist folder') do |project|
        EasyHtmlGenerator::Workspace.clean_dist_folder project
      end

      opts.on('-i', '--init', 'initialise ehg workspace') do
        EasyHtmlGenerator::Workspace.init
      end

      opts.on('-c', '--create [PROJECT]', 'demo', 'create a new project from template') do |name|
        name ||= 'demo'
        EasyHtmlGenerator::Workspace.create_project name
      end

      opts.on_tail('-h', '--help', 'Show this message') do
        puts opts
        exit
      end
    end

    opt_parser.parse!(args)
  end
end

EhgOptparse.parse(ARGV)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
easy_html_generator-1.0.6 bin/ehg