Module: Greg
- Defined in:
- lib/greg.rb,
lib/greg/version.rb,
lib/greg/generator.rb,
lib/greg/exceptions.rb,
lib/greg/template_installer.rb,
lib/greg/templates/dir_template.rb,
lib/greg/templates/file_template.rb,
lib/greg/templates/from_template.rb,
lib/greg/templates/default_template.rb,
lib/greg/templates/gemfile_template.rb,
lib/greg/templates/file_tree_template.rb
Defined Under Namespace
Classes: DefaultTemplate, DirTemplate, ExistingProjectError, FileTemplate, FileTreeTemplate, FromTemplate, GemfileTemplate, Generator, TemplateInstaller, UnexistingTemplateError
Constant Summary
collapse
- VERSION =
"0.1.0"
Class Method Summary
collapse
Class Method Details
.generator(**options) ⇒ Object
12
13
14
|
# File 'lib/greg.rb', line 12
def self.generator(**options)
@generator ||= get_generator(**options)
end
|
.get_generator(**options) ⇒ Object
name:, template_name: , output_directory: “.”, force: false)
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/greg.rb', line 16
def self.get_generator(**options) template_name = options[:template_name]
generator_name = "#{template_name}_generator"
template = Greg.templates_dir + "/#{template_name}/#{generator_name}"
if Pathname(template + ".rb").exist?
require template.to_s
else
raise UnexistingTemplateError.new(template_name)
end
generator_class_name = generator_name.split("_").map(&:capitalize).join
generator_class = Kernel.const_get(generator_class_name)
generator_class.new( **options )
end
|
.templates_dir ⇒ Object
30
31
32
|
# File 'lib/greg.rb', line 30
def self.templates_dir
@templates_dir ||= Pathname("~/.greg_templates").expand_path.to_s
end
|
.templates_dir=(new_dir) ⇒ Object
34
35
36
|
# File 'lib/greg.rb', line 34
def self.templates_dir=(new_dir)
@templates_dir = Pathname(new_dir).expand_path.to_s
end
|