Sha256: c0dfc16b84aa7212ac190c2d998e61b7317a630dbc08d885181b58cf0f5e14ce

Contents?: true

Size: 1.31 KB

Versions: 5

Compression:

Stored size: 1.31 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( " " )} --skip-turbolinks" )
    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_blog/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

5 entries across 5 versions & 1 rubygems

Version Path
happy_seed-0.0.16 lib/happy_seed/cli.rb
happy_seed-0.0.15 lib/happy_seed/cli.rb
happy_seed-0.0.14 lib/happy_seed/cli.rb
happy_seed-0.0.13 lib/happy_seed/cli.rb
happy_seed-0.0.12 lib/happy_seed/cli.rb