class LightService::Generators::OrganizerGenerator

Public Instance Methods

create_organizer() click to toggle source

rubocop:disable Metrics/MethodLength,Metrics/AbcSize

# File lib/generators/light_service/organizer_generator.rb, line 37
def create_organizer
  gen_vals = create_required_gen_vals_from(name)

  @module_path     = gen_vals[:module_path]
  @class_name      = gen_vals[:class_name]
  @full_class_name = gen_vals[:full_class_name]

  file_name = gen_vals[:file_name]
  file_path = gen_vals[:file_path]

  root_dir       = options.dir.downcase
  organizer_dir  = File.join('app', root_dir, *file_path)
  organizer_file = "#{organizer_dir}/#{file_name}"

  make_nested_dir(organizer_dir)
  template("organizer_template.erb", organizer_file)

  return unless must_gen_tests?

  spec_dir       = File.join('spec', root_dir, *file_path)
  spec_file_name = gen_vals[:spec_file_name]
  spec_file      = "#{spec_dir}/#{spec_file_name}"

  make_nested_dir(spec_dir)
  template("organizer_spec_template.erb", spec_file)
end