Class: Upkeep::SQLGlot::Scope
- Inherits:
-
Data
- Object
- Data
- Upkeep::SQLGlot::Scope
- Defined in:
- lib/upkeep/sqlglot.rb
Instance Attribute Summary collapse
-
#columns ⇒ Object
readonly
Returns the value of attribute columns.
-
#cte_scopes ⇒ Object
readonly
Returns the value of attribute cte_scopes.
-
#derived_table_scopes ⇒ Object
readonly
Returns the value of attribute derived_table_scopes.
-
#external_columns ⇒ Object
readonly
Returns the value of attribute external_columns.
-
#is_correlated ⇒ Object
readonly
Returns the value of attribute is_correlated.
-
#scope_type ⇒ Object
readonly
Returns the value of attribute scope_type.
-
#selected_sources ⇒ Object
readonly
Returns the value of attribute selected_sources.
-
#sources ⇒ Object
readonly
Returns the value of attribute sources.
-
#subquery_scopes ⇒ Object
readonly
Returns the value of attribute subquery_scopes.
-
#union_scopes ⇒ Object
readonly
Returns the value of attribute union_scopes.
Class Method Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#columns ⇒ Object (readonly)
Returns the value of attribute columns
98 99 100 |
# File 'lib/upkeep/sqlglot.rb', line 98 def columns @columns end |
#cte_scopes ⇒ Object (readonly)
Returns the value of attribute cte_scopes
98 99 100 |
# File 'lib/upkeep/sqlglot.rb', line 98 def cte_scopes @cte_scopes end |
#derived_table_scopes ⇒ Object (readonly)
Returns the value of attribute derived_table_scopes
98 99 100 |
# File 'lib/upkeep/sqlglot.rb', line 98 def derived_table_scopes @derived_table_scopes end |
#external_columns ⇒ Object (readonly)
Returns the value of attribute external_columns
98 99 100 |
# File 'lib/upkeep/sqlglot.rb', line 98 def external_columns @external_columns end |
#is_correlated ⇒ Object (readonly)
Returns the value of attribute is_correlated
98 99 100 |
# File 'lib/upkeep/sqlglot.rb', line 98 def @is_correlated end |
#scope_type ⇒ Object (readonly)
Returns the value of attribute scope_type
98 99 100 |
# File 'lib/upkeep/sqlglot.rb', line 98 def scope_type @scope_type end |
#selected_sources ⇒ Object (readonly)
Returns the value of attribute selected_sources
98 99 100 |
# File 'lib/upkeep/sqlglot.rb', line 98 def selected_sources @selected_sources end |
#sources ⇒ Object (readonly)
Returns the value of attribute sources
98 99 100 |
# File 'lib/upkeep/sqlglot.rb', line 98 def sources @sources end |
#subquery_scopes ⇒ Object (readonly)
Returns the value of attribute subquery_scopes
98 99 100 |
# File 'lib/upkeep/sqlglot.rb', line 98 def subquery_scopes @subquery_scopes end |
#union_scopes ⇒ Object (readonly)
Returns the value of attribute union_scopes
98 99 100 |
# File 'lib/upkeep/sqlglot.rb', line 98 def union_scopes @union_scopes end |
Class Method Details
.from_native(value) ⇒ Object
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/upkeep/sqlglot.rb', line 110 def self.from_native(value) new( scope_type: value.fetch("scope_type").to_sym, sources: sources_from_native(value.fetch("sources")), columns: columns_from_native(value.fetch("columns")), external_columns: columns_from_native(value.fetch("external_columns")), derived_table_scopes: scopes_from_native( value.fetch("derived_table_scopes") ), subquery_scopes: scopes_from_native(value.fetch("subquery_scopes")), union_scopes: scopes_from_native(value.fetch("union_scopes")), cte_scopes: scopes_from_native(value.fetch("cte_scopes")), selected_sources: sources_from_native(value.fetch("selected_sources")), is_correlated: value.fetch("is_correlated") ) end |
Instance Method Details
#child_scopes ⇒ Object
127 128 129 |
# File 'lib/upkeep/sqlglot.rb', line 127 def child_scopes derived_table_scopes + subquery_scopes + union_scopes + cte_scopes end |
#walk {|_self| ... } ⇒ Object
131 132 133 134 135 136 |
# File 'lib/upkeep/sqlglot.rb', line 131 def walk(&block) return enum_for(:walk) unless block yield self child_scopes.each { |child| child.walk(&block) } end |