Class: Troy::Generator

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/troy/generator.rb

Overview

The Troy::Generator class will create a new book structure.

ebook = Troy::Generator.new
ebook.destination_root = "/some/path/book-name"
ebook.invoke_all

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



15
16
17
# File 'lib/troy/generator.rb', line 15

def self.source_root
  File.expand_path("../../templates", __dir__)
end

Instance Method Details

#bundle_installObject



44
45
46
47
48
# File 'lib/troy/generator.rb', line 44

def bundle_install
  inside destination_root do
    run "bundle install"
  end
end

#copy_filesObject



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/troy/generator.rb', line 30

def copy_files
  copy_file "helpers.rb", "config/helpers.rb"
  copy_file "default.erb", "layouts/default.erb"
  copy_file "index.erb", "source/index.erb"
  copy_file "404.erb", "source/404.erb"
  copy_file "500.erb", "source/500.erb"
  copy_file "Gemfile", "Gemfile"
  copy_file "config.ru", "config.ru"
  copy_file "unicorn.rb", "config/unicorn.rb"
  copy_file "troy.rb", "config/troy.rb"
  copy_file "style.scss", "assets/stylesheets/style.scss"
  copy_file "script.js", "assets/javascripts/script.js"
end

#create_directoriesObject



19
20
21
22
23
24
25
26
27
28
# File 'lib/troy/generator.rb', line 19

def create_directories
  empty_directory "assets/javascripts"
  empty_directory "assets/stylesheets"
  empty_directory "assets/images"
  empty_directory "assets/media"
  empty_directory "source"
  empty_directory "config"
  empty_directory "layouts"
  empty_directory "partials"
end