Module: Lagoon
- Defined in:
- lib/lagoon.rb,
lib/lagoon/cli.rb,
lib/lagoon/errors.rb,
lib/lagoon/result.rb,
lib/lagoon/options.rb,
lib/lagoon/railtie.rb,
lib/lagoon/version.rb,
lib/lagoon/diagram/base.rb,
lib/lagoon/configuration.rb,
lib/lagoon/diagram/er_diagram.rb,
lib/lagoon/parser/model_parser.rb,
lib/lagoon/parser/schema_parser.rb,
lib/lagoon/diagram/model_diagram.rb,
lib/lagoon/renderer/base_renderer.rb,
lib/lagoon/parser/controller_parser.rb,
lib/lagoon/diagram/controller_diagram.rb,
lib/lagoon/renderer/er_diagram_renderer.rb,
lib/lagoon/parser/controller_model_parser.rb,
lib/lagoon/analyzer/active_record_analyzer.rb,
lib/lagoon/parser/application_class_filter.rb,
lib/lagoon/renderer/class_diagram_renderer.rb,
lib/lagoon/diagram/controller_model_diagram.rb,
lib/lagoon/analyzer/database_schema_analyzer.rb,
lib/lagoon/analyzer/action_controller_analyzer.rb,
lib/lagoon/analyzer/ast/method_reference_visitor.rb,
lib/lagoon/analyzer/ast_model_reference_analyzer.rb,
lib/lagoon/renderer/controller_model_er_renderer.rb,
lib/lagoon/analyzer/ast/controller_scope_collector.rb,
sig/lagoon.rbs
Defined Under Namespace
Modules: Analyzer, Diagram, Parser, Renderer
Classes: CLI, Configuration, ConfigurationError, Error, Options, OutputError, ParseError, RailsLoadError, Railtie, Result
Constant Summary
collapse
- VERSION =
'0.2.0'
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
33
34
35
|
# File 'lib/lagoon.rb', line 33
def configuration
@configuration ||= Configuration.new
end
|
Class Method Details
37
38
39
|
# File 'lib/lagoon.rb', line 37
def configure
yield(configuration)
end
|
.generate_all(options = {}) ⇒ Hash[Symbol, Result]
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/lagoon.rb', line 61
def generate_all(options = {})
raw_options = options.to_h.transform_keys(&:to_sym)
validate_all_options!(raw_options)
eager_load_application!
output_dir = raw_options.delete(:output)
{
models: generate_model_diagram(options_for(:model, raw_options, output_dir, 'models.mermaid')),
controllers: generate_controller_diagram(
options_for(:controller, raw_options, output_dir, 'controllers.mermaid')
),
er: generate_er_diagram(options_for(:er, raw_options, output_dir, 'er_diagram.mermaid')),
controller_models: generate_controller_model_diagram(
options_for(:controller_model, raw_options, output_dir, 'controller_models.mermaid')
)
}
end
|
.generate_controller_diagram(options = {}) ⇒ Result
.generate_controller_model_diagram(options = {}) ⇒ Result
.generate_er_diagram(options = {}) ⇒ Result
53
54
55
|
# File 'lib/lagoon.rb', line 53
def generate_er_diagram(options = {})
Diagram::ErDiagram.new(options, configuration: configuration.dup).generate
end
|
.generate_model_diagram(options = {}) ⇒ Result
45
46
47
|
# File 'lib/lagoon.rb', line 45
def generate_model_diagram(options = {})
Diagram::ModelDiagram.new(options, configuration: configuration.dup).generate
end
|
41
42
43
|
# File 'lib/lagoon.rb', line 41
def reset_configuration!
@configuration = Configuration.new
end
|