Class: AwesomeAnnotate::Model
- Inherits:
-
Thor
- Object
- Thor
- AwesomeAnnotate::Model
- Includes:
- AnnotationBlock, RailsEnvironment, SchemaAnnotation, Thor::Actions
- Defined in:
- lib/awesome_annotate/model.rb
Instance Method Summary collapse
- #annotate(model_name) ⇒ Object
- #annotate_all(model_names = []) ⇒ Object
-
#initialize(params = {}) ⇒ Model
constructor
A new instance of Model.
- #remove(model_name) ⇒ Object
- #remove_all(model_names = []) ⇒ Object
Constructor Details
#initialize(params = {}) ⇒ Model
Returns a new instance of Model.
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/awesome_annotate/model.rb', line 17 def initialize(params = {}) super() @env_file_path = Pathname.new(params[:env_file_path] || 'config/environment.rb') @model_dir = Pathname.new(params[:model_dir] || 'app/models') @annotation_position = params[:annotation_position] || 'top' @exclude_model_files = params[:exclude_model_files] || [] @include_indexes = params.fetch(:include_indexes, true) @exclude_columns = params[:exclude_columns] || [] @include_column_defaults = params.fetch(:include_column_defaults, true) end |
Instance Method Details
#annotate(model_name) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/awesome_annotate/model.rb', line 29 def annotate(model_name) raise 'Rails application path is required' unless @env_file_path.exist? load_rails_environment annotate_loaded_model(model_name) end |
#annotate_all(model_names = []) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/awesome_annotate/model.rb', line 37 def annotate_all(model_names = []) raise 'Rails application path is required' unless @env_file_path.exist? load_rails_environment if model_names.empty? discover_model_names.each { |model_name| annotate_discovered_model(model_name) } else model_names.each { |model_name| annotate_loaded_model(model_name) } end end |
#remove(model_name) ⇒ Object
50 51 52 53 54 |
# File 'lib/awesome_annotate/model.rb', line 50 def remove(model_name) file_path = model_file_path(model_name) remove_model_annotation(file_path) end |
#remove_all(model_names = []) ⇒ Object
57 58 59 60 61 62 63 |
# File 'lib/awesome_annotate/model.rb', line 57 def remove_all(model_names = []) if model_names.empty? discovered_model_file_paths.each { |file_path| remove_model_annotation(file_path, report_missing: false) } else model_names.each { |model_name| remove(model_name) } end end |