class RailsServices::Generators::DestroyGenerator

destroys a service class

Public Instance Methods

destroy_service() click to toggle source
# File lib/generators/rails_services/destroy_generator.rb, line 17
def destroy_service
  remove_file "app/services/#{full_object_directory}/#{service_object_file}"
  remove_file "spec/services/#{full_object_directory}/#{service_spec_file}"
  remove_file "test/services/#{full_object_directory}/#{service_unit_file}"

  manage_containing_directories('app', 'spec', 'test')
end

Private Instance Methods

directory_empty?(directory_type) click to toggle source
# File lib/generators/rails_services/destroy_generator.rb, line 44
def directory_empty?(directory_type)
  Dir["#{Rails.root}/#{directory_type}/services/#{full_object_directory}/*"].empty?
end
full_object_directory() click to toggle source
# File lib/generators/rails_services/destroy_generator.rb, line 27
def full_object_directory
  file_path = service_parent_directory.to_s
  file_path += "/#{options['sub_folder'].underscore}" if options['sub_folder'].present?
  file_path
end
manage_containing_directories(*directory_types) click to toggle source
# File lib/generators/rails_services/destroy_generator.rb, line 37
def manage_containing_directories(*directory_types)
  directory_types.each do |directory_type|
    remove_dir("#{directory_type}/services/#{full_object_directory}") if directory_empty?(directory_type)
    remove_dir("#{directory_type}/services/#{service_parent_directory}") if parent_directory_empty?(directory_type)
  end
end
parent_directory_empty?(directory_type) click to toggle source
# File lib/generators/rails_services/destroy_generator.rb, line 48
def parent_directory_empty?(directory_type)
  Dir["#{Rails.root}/#{directory_type}/services/#{service_parent_directory}/*"].empty?
end
service_parent_directory() click to toggle source
# File lib/generators/rails_services/destroy_generator.rb, line 33
def service_parent_directory
  parent_name.pluralize.underscore.to_s
end