class Singu::CLI

Constants

DEFAULT_ANGULAR_TEMPLATE_REPO
DEFAULT_SINATRA_TEMPLATE_REPO

Public Class Methods

source_root() click to toggle source
# File lib/singu/cli.rb, line 14
def self.source_root
  "."
end

Public Instance Methods

create_app_from_template() click to toggle source
# File lib/singu/cli.rb, line 29
def create_app_from_template
  sinatra_repo = options.fetch(:template){{}}.fetch('sinatra', DEFAULT_SINATRA_TEMPLATE_REPO)
  angular_repo = options.fetch(:template){{}}.fetch('angular', DEFAULT_ANGULAR_TEMPLATE_REPO)
  clone_repo(sinatra_repo)
  clone_repo(angular_repo) unless options[:'skip-angular']
end
initialize_git_repo() click to toggle source
# File lib/singu/cli.rb, line 36
def initialize_git_repo
  inside(@app_path) do
    run('git init .')
  end
end
install_dependencies() click to toggle source
# File lib/singu/cli.rb, line 42
def install_dependencies
  inside(@app_path) do
    run('bundle')
  end
end
setup() click to toggle source
# File lib/singu/cli.rb, line 24
def setup
  @app_path = name.directory_name
  @name     = name.file_name
end

Private Instance Methods

clone_repo(repo) click to toggle source
# File lib/singu/cli.rb, line 50
def clone_repo(repo)
  repo_name = repo.split('/').last
  system "git clone -q --depth 1 git@github.com:#{repo}.git tmp/#{@name}"
  directory "tmp/#{@name}", @app_path
  remove_dir "tmp"
  inside(@app_path) do
    remove_file ".git"
  end
end