Class: Hexx::Domains::CLI

Inherits:
CLI::Base
  • Object
show all
Defined in:
lib/hexx/domains/cli.rb

Overview

Scaffolder of new domain model as a separate gem

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



11
12
13
# File 'lib/hexx/domains/cli.rb', line 11

def self.source_root
  ::File.expand_path "../cli", __FILE__
end

Instance Method Details

#add_dummyObject



118
119
120
121
# File 'lib/hexx/domains/cli.rb', line 118

def add_dummy
  return unless options["dummy"]
  in_root { Hexx::Dependencies::CLI.start %w() }
end

#add_gemspecObject



91
92
93
# File 'lib/hexx/domains/cli.rb', line 91

def add_gemspec
  template "gemspec.erb", "#{ project.file }.gemspec"
end

#add_git_repositoryObject



124
125
126
127
# File 'lib/hexx/domains/cli.rb', line 124

def add_git_repository
  return unless options["git"]
  in_root { `git init` }
end

#add_loaderObject



101
102
103
# File 'lib/hexx/domains/cli.rb', line 101

def add_loader
  template "lib.erb", "lib/#{ project.file }.rb"
end

#add_moduleObject



106
107
108
109
# File 'lib/hexx/domains/cli.rb', line 106

def add_module
  return unless project.namespaces.any?
  template "module.erb", "lib/#{ project.path }.rb"
end

#add_suitObject



112
113
114
115
# File 'lib/hexx/domains/cli.rb', line 112

def add_suit
  in_root { `hexx-suit install` }
  empty_directory "spec/tests"
end

#add_versionObject



96
97
98
# File 'lib/hexx/domains/cli.rb', line 96

def add_version
  template "version.erb", "lib/#{ project.path }/version.rb"
end

#populate_core_filesObject



85
86
87
88
# File 'lib/hexx/domains/cli.rb', line 85

def populate_core_files
  copy_folder "root", project.file
  self.destination_root = "#{ destination_root }/#{ project.file }"
end

#run_bundlerObject



130
131
132
133
# File 'lib/hexx/domains/cli.rb', line 130

def run_bundler
  return unless options["bundle"]
  in_root { `bundle` }
end