Sha256: f57c4264460e4ffd2268d488af35cba5cfe48485856e14ee7bff7c12f4acd18b

Contents?: true

Size: 1016 Bytes

Versions: 1

Compression:

Stored size: 1016 Bytes

Contents

require "thor"
require "thor/group"
require "securerandom"
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
      @session_secret = SecureRandom.hex 16
      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

1 entries across 1 versions & 1 rubygems

Version Path
simba-0.0.5 lib/simba.rb