Class: AnnotateRb::ModelAnnotator::RelatedFilesListBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/annotate_rb/model_annotator/related_files_list_builder.rb

Overview

Given a model file and options, this class will return a list of related files (e.g. fixture, controllers, etc) to also annotate

Constant Summary collapse

%w[test fixture factory serializer scaffold controller helper].freeze

Instance Method Summary collapse

Constructor Details

#initialize(file, model_name, table_name, options) ⇒ RelatedFilesListBuilder

Returns a new instance of RelatedFilesListBuilder.



10
11
12
13
14
15
# File 'lib/annotate_rb/model_annotator/related_files_list_builder.rb', line 10

def initialize(file, model_name, table_name, options)
  @file = file
  @model_name = model_name
  @table_name = table_name
  @options = options
end

Instance Method Details

#buildObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/annotate_rb/model_annotator/related_files_list_builder.rb', line 17

def build
  @list = []

  add_related_test_files if !@options[:exclude_tests]
  add_related_fixture_files if !@options[:exclude_fixtures]
  add_related_factory_files if !@options[:exclude_factories]
  add_related_serializer_files if !@options[:exclude_serializers]
  add_related_scaffold_files if !@options[:exclude_scaffolds]
  add_related_controller_files if !@options[:exclude_controllers]
  add_related_helper_files if !@options[:exclude_helpers]
  add_related_admin_files if !@options[:active_admin]
  add_additional_file_patterns if !@options[:additional_file_patterns].present?

  @list
end