Sha256: 1e9495dcb20b1479449ecceffee0213515e50b779e2f43c3d5668f77ebbd0c25

Contents?: true

Size: 1.1 KB

Versions: 5

Compression:

Stored size: 1.1 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

    protected

    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

5 entries across 5 versions & 1 rubygems

Version Path
spontaneous-0.2.0.beta10 lib/spontaneous/cli/generate.rb
spontaneous-0.2.0.beta9 lib/spontaneous/cli/generate.rb
spontaneous-0.2.0.beta8 lib/spontaneous/cli/generate.rb
spontaneous-0.2.0.beta7 lib/spontaneous/cli/generate.rb
spontaneous-0.2.0.beta6 lib/spontaneous/cli/generate.rb