module Greg

Constants

VERSION

Public Class Methods

generator(**options) click to toggle source
# File lib/greg.rb, line 12
def self.generator(**options)
  @generator ||= get_generator(**options)
end
templates_dir() click to toggle source
# File lib/greg.rb, line 16
def self.templates_dir
  @templates_dir ||= Pathname("~/.greg_templates").expand_path.to_s
end
templates_dir=(new_dir) click to toggle source
# File lib/greg.rb, line 20
def self.templates_dir=(new_dir)
  @templates_dir = Pathname(new_dir).expand_path.to_s
end

Private Class Methods

get_generator(**options) click to toggle source
# File lib/greg.rb, line 25
def self.get_generator(**options) #name:, template_name: , output_directory: ".", force: false)
  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