Class: RailsTemplate18f::Generators::RailsErdGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Base
Defined in:
lib/generators/rails_template18f/rails_erd/rails_erd_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_configObject



34
35
36
# File 'lib/generators/rails_template18f/rails_erd/rails_erd_generator.rb', line 34

def copy_config
  copy_file "erdconfig", ".erdconfig"
end

#install_gemObject



23
24
25
26
# File 'lib/generators/rails_template18f/rails_erd/rails_erd_generator.rb', line 23

def install_gem
  return if gem_installed?("rails-erd")
  gem "rails-erd", "~> 1.7", group: :development
end

#install_graphvizObject



15
16
17
18
19
20
21
# File 'lib/generators/rails_template18f/rails_erd/rails_erd_generator.rb', line 15

def install_graphviz
  append_to_file "Brewfile", <<~EOB

    # used by rails-erd documentation tool
    brew "graphviz"
  EOB
end

#install_helper_tasksObject



28
29
30
31
32
# File 'lib/generators/rails_template18f/rails_erd/rails_erd_generator.rb', line 28

def install_helper_tasks
  bundle_install do
    generate "erd:install"
  end
end

#update_readmeObject



38
39
40
41
42
43
44
45
46
# File 'lib/generators/rails_template18f/rails_erd/rails_erd_generator.rb', line 38

def update_readme
  insert_into_file "doc/compliance/README.md", <<~EOM, before: "## Development"
    ### Logical Data Model

    The logical data model will be auto-generated on each database migration.
    The rendered output is saved to doc/compliance/rendered/apps/data.logical.pdf

  EOM
end