Class: LightService::Generators::OrganizerGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
GeneratorUtils
Defined in:
lib/generators/light_service/organizer_generator.rb

Instance Method Summary collapse

Methods included from GeneratorUtils

#create_required_gen_vals_from, #make_nested_dir, #must_gen_tests?, #supported_test_frameworks, #test_framework, #test_framework_supported?

Instance Method Details

#create_organizerObject

rubocop:disable Metrics/MethodLength,Metrics/AbcSize



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# 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