Class: Upkeep::SQLGlot::LineageNode
- Inherits:
-
Data
- Object
- Data
- Upkeep::SQLGlot::LineageNode
- Defined in:
- lib/upkeep/sqlglot.rb
Instance Attribute Summary collapse
-
#alias ⇒ Object
readonly
Returns the value of attribute alias.
-
#depth ⇒ Object
readonly
Returns the value of attribute depth.
-
#downstream ⇒ Object
readonly
Returns the value of attribute downstream.
-
#expression ⇒ Object
readonly
Returns the value of attribute expression.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#source ⇒ Object
readonly
Returns the value of attribute source.
-
#source_name ⇒ Object
readonly
Returns the value of attribute source_name.
Class Method Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#alias ⇒ Object (readonly)
Returns the value of attribute alias
183 184 185 |
# File 'lib/upkeep/sqlglot.rb', line 183 def alias @alias end |
#depth ⇒ Object (readonly)
Returns the value of attribute depth
183 184 185 |
# File 'lib/upkeep/sqlglot.rb', line 183 def depth @depth end |
#downstream ⇒ Object (readonly)
Returns the value of attribute downstream
183 184 185 |
# File 'lib/upkeep/sqlglot.rb', line 183 def downstream @downstream end |
#expression ⇒ Object (readonly)
Returns the value of attribute expression
183 184 185 |
# File 'lib/upkeep/sqlglot.rb', line 183 def expression @expression end |
#name ⇒ Object (readonly)
Returns the value of attribute name
183 184 185 |
# File 'lib/upkeep/sqlglot.rb', line 183 def name @name end |
#source ⇒ Object (readonly)
Returns the value of attribute source
183 184 185 |
# File 'lib/upkeep/sqlglot.rb', line 183 def source @source end |
#source_name ⇒ Object (readonly)
Returns the value of attribute source_name
183 184 185 |
# File 'lib/upkeep/sqlglot.rb', line 183 def source_name @source_name end |
Class Method Details
.from_native(value) ⇒ Object
192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/upkeep/sqlglot.rb', line 192 def self.from_native(value) new( name: value.fetch("name"), expression: value["expression"], source_name: value["source_name"], source: value["source"], downstream: value.fetch("downstream").map { |child| from_native(child) } .freeze, alias: value["alias"], depth: value.fetch("depth") ) end |
Instance Method Details
#source_tables ⇒ Object
212 213 214 |
# File 'lib/upkeep/sqlglot.rb', line 212 def source_tables walk.filter_map(&:source_name).uniq.sort end |
#walk {|_self| ... } ⇒ Object
205 206 207 208 209 210 |
# File 'lib/upkeep/sqlglot.rb', line 205 def walk(&block) return enum_for(:walk) unless block yield self downstream.each { |child| child.walk(&block) } end |