Sha256: abcc5a99e910ff99b2424724d6d6442a4ff529c2031135b01b6b828ed309a2cd

Contents?: true

Size: 1.3 KB

Versions: 6

Compression:

Stored size: 1.3 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]', 'all', 'generate one or all projects') do |project|
        project ||= 'all'

        if project == 'all'
          EasyHtmlGenerator.generate_all
        else
          EasyHtmlGenerator.generate_project project
        end
      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

6 entries across 6 versions & 1 rubygems

Version Path
easy_html_generator-1.0.5 bin/ehg
easy_html_generator-1.0.4 bin/ehg
easy_html_generator-1.0.3 bin/ehg
easy_html_generator-1.0.2 bin/ehg
easy_html_generator-1.0.1 bin/ehg
easy_html_generator-1.0.0 bin/ehg