Module: BlastRadius

Defined in:
lib/blast_radius.rb,
lib/blast_radius/node.rb,
lib/blast_radius/railtie.rb,
lib/blast_radius/version.rb,
lib/blast_radius/analyzer.rb,
lib/blast_radius/configuration.rb,
lib/blast_radius/dependency_tree.rb,
lib/blast_radius/formatters/base.rb,
lib/blast_radius/impact_calculator.rb,
lib/blast_radius/active_record_extension.rb,
lib/blast_radius/formatters/dot_formatter.rb,
lib/blast_radius/formatters/html_formatter.rb,
lib/blast_radius/formatters/json_formatter.rb,
lib/blast_radius/formatters/text_formatter.rb,
lib/blast_radius/formatters/mermaid_formatter.rb

Defined Under Namespace

Modules: ActiveRecordExtension, Formatters Classes: Analyzer, Configuration, DependencyTree, Error, ImpactCalculator, Node, Railtie

Constant Summary collapse

VERSION =
'0.1.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



26
27
28
# File 'lib/blast_radius.rb', line 26

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.analyze(model_class, options = {}) ⇒ Node

Analyze a model class and return dependency tree

Parameters:

  • model_class (Class)

    ActiveRecord model class

  • options (Hash) (defaults to: {})

    options for analysis

Returns:

  • (Node)

    root node of dependency tree



42
43
44
45
# File 'lib/blast_radius.rb', line 42

def analyze(model_class, options = {})
  tree = DependencyTree.new(configuration)
  tree.build(model_class, options)
end

.configure {|configuration| ... } ⇒ Object

Yields:



30
31
32
# File 'lib/blast_radius.rb', line 30

def configure
  yield(configuration)
end

.reset_configurationObject



34
35
36
# File 'lib/blast_radius.rb', line 34

def reset_configuration
  @configuration = Configuration.new
end