Sha256: 95934d48f6a50769bdb64237c7713842642821cd8e065a7aa10cf286e3ff4544

Contents?: true

Size: 1.28 KB

Versions: 2

Compression:

Stored size: 1.28 KB

Contents

require 'thor'

module HappySeed
  class Cli < Thor
    desc "rails APPNAME", "Generate a new rails application"
    def rails( *args )
      file = gem_file_path( "happy_seed.rb")
      system( "rails new -m #{file} #{args.join( " " )}" )
    end

    desc "plugin NAME", "Generate a new rails plugin"
    def plugin( *args )
      require 'generators/happy_seed/plugin/plugin_generator'
      HappySeed::Generators::PluginGenerator.start
    end

    desc "engine NAME", "Generate a new rails engine"
    def engine( *args )
      require 'generators/happy_seed/plugin/plugin_generator'
      ARGV << "--mountable"
      HappySeed::Generators::PluginGenerator.start
    end

    desc "static NAME", "Generate a new middleman static project"
    def static( name )
      require 'generators/happy_seed/static/static_generator'
      HappySeed::Generators::StaticGenerator.start
    end

    desc "static_blog NAME", "Generate a new middleman static blog project"
    def static_blog( name )
      require 'generators/happy_seed/static/static_blog_generator'
      HappySeed::Generators::StaticBlogGenerator.start
    end

    private
    def gem_file_path( filename )
      spec = Gem::Specification.find_by_name("happy_seed")
      gem_root = spec.gem_dir

      File.join( gem_root, filename )
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
happy_seed-0.0.11 lib/happy_seed/cli.rb
happy_seed-0.0.10 lib/happy_seed/cli.rb