Module: Scenic::Cascade::DependencyFinder::ClassMethods
- Defined in:
- lib/scenic/cascade/dependency_finder.rb
Overview
Provides class methods to injected class
Instance Method Summary collapse
Instance Method Details
#view_dependencies_of(view_name, recursive: false) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/scenic/cascade/dependency_finder.rb', line 36 def view_dependencies_of(view_name, recursive: false) query = ActiveRecord::Base.sanitize_sql_array([DEPENDENCY_SQL, view_name]) raw_dependencies = ActiveRecord::Base.connection.select_all(query).to_a dependencies = raw_dependencies.map { |dep| Scenic::Cascade::Dependency.from_hash(dep) } return [] if dependencies.empty? return dependencies unless recursive dependencies.flat_map do |dependency| [dependency, *view_dependencies_of(dependency.to.name)] end end |