Class: NewProject

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



10
11
12
# File 'lib/generators/generator.rb', line 10

def self.source_root
  File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
end

Instance Method Details

#gitObject



14
15
16
# File 'lib/generators/generator.rb', line 14

def git
  @git ||= Git.init(name)
end

#initial_commitObject



58
59
60
61
# File 'lib/generators/generator.rb', line 58

def initial_commit
  git.lib.add('.', all: true)
  git.commit("initial commit", {all: true})
end

#lib_filesObject



46
47
48
49
50
51
# File 'lib/generators/generator.rb', line 46

def lib_files
  template "lib/name.rb.erb", File.join(name, "lib", "#{name}.rb")
  template "lib/pages/home.rb.erb", File.join(name, "lib", name, "pages", "home.rb")
  template "lib/pages/results.rb.erb", File.join(name, "lib", name, "pages", "results.rb")
  template "lib/models/search.rb.erb", File.join(name, "lib", name, "models", "search.rb")
end

#root_filesObject



34
35
36
37
38
39
40
41
42
43
44
# File 'lib/generators/generator.rb', line 34

def root_files
  template "gemfile.rb.erb", "#{name}/Gemfile"
  template "gemspec.rb.erb", "#{name}/#{name}.gemspec"
  template "gitignore.rb.erb", "#{name}/.gitignore"
  template "license.rb.erb", "#{name}/LICENSE.txt"
  template "rakefile.rb.erb", "#{name}/Rakefile"
  template "readme.rb.erb", "#{name}/README.md"
  template "rspec.rb.erb", "#{name}/.rspec"
  template "ruby-version.rb.erb", "#{name}/.ruby-version"
  template "travis.rb.erb", "#{name}/.travis.yml"
end

#spec_filesObject



53
54
55
56
# File 'lib/generators/generator.rb', line 53

def spec_files
  template "spec/name_spec.rb.erb", File.join(name, "spec", "#{name}_spec.rb")
  template "spec/spec_helper.rb.erb", File.join(name, "spec", "spec_helper.rb")
end

#user_emailObject



26
27
28
29
30
31
32
# File 'lib/generators/generator.rb', line 26

def user_email
  @user_email ||= git.config["user.email"]
  return @user_email if @user_email
  @user_email = ask "Enter your Email: "
  @git.config('user.email', @user_email)
  @user_email
end

#user_nameObject



18
19
20
21
22
23
24
# File 'lib/generators/generator.rb', line 18

def user_name
  @user_name ||= git.config["user.name"]
  return @user_name if @user_name
  @user_name = ask "Enter your Name:  "
  @git.config('user.name', @user_name)
  @user_name
end