Sha256: 58e2d0e482e3b1c4339bbf81b96ea25329e3005f4704697dbbd5765387746fe0

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

# encoding: UTF-8

require 'public_suffix'

module Spontaneous::Cli
  class Generate < ::Thor
    include Spontaneous::Cli::TaskUtils
    include Thor::Actions

    namespace :generate

    default_task :site

    desc "site [DOMAIN]", "Generates a site skeleton. Usage: spot generate <site domain name>"

    method_option :database, :type => :string, :default => "mysql", :aliases => "-d", :desc => "Database adapter"
    method_option :user, :type => :string, :default => "root", :aliases => "-u", :desc => "Database admin user"
    method_option :password, :type => :string, :default => "", :aliases => "-p", :desc => "Database admin user"

    def site(*args)
      generate_site(args)
    end

    def method_missing(method, *args)
      if PublicSuffix.valid?(method.to_s)
        puts method
        args.unshift(method.to_s)
        ARGV.unshift("site")
        self.send(:site, *args)
      else
        super
      end
    end

    def generate_site(args)
      ::Spontaneous::Generators::Site.start(args.drop_while { |e| %w(generate site).include?(e) })
    end
  end # Generate
end # Spontaneous::Cli

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spontaneous-0.2.0.beta5 lib/spontaneous/cli/generate.rb