Sha256: f55fecc4a2a9f1a986e6574bfbdff713924f37efa139720070e3e4a7acc0fc2e

Contents?: true

Size: 949 Bytes

Versions: 2

Compression:

Stored size: 949 Bytes

Contents

require "thor"
require "thor/group"
require_relative "simba/version"

module Simba
  class SkeletonGenerator < Thor::Group
    include Thor::Actions

    def self.source_root
      File.dirname(__FILE__)
    end

    def self.banner
      "simba [app_name]"
    end

    desc "Description:\n\n\tsimba is a generator for sinatra applications."

    argument :name, :desc => "The name of your sinatra app"
    class_option :skip_bundle,
                 :default => false,
                 :type => :boolean,
                 :desc => "Skip bundle install when creating app skeleton"

    def setup_skeleton
      self.destination_root = name
      @class_name = name
      directory("simba/base_app/", self.destination_root)
    end

    def bundle_dependencies
      unless options[:skip_bundle]
        say "Bundling application dependencies using bundler."
        in_root do
          run 'bundle install'
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
simba-0.0.4 lib/simba.rb
simba-0.0.3 lib/simba.rb