Module: SqlBeautifier::CreateTableParsing
- Included in:
- CreateTable, CreateTableAs
- Defined in:
- lib/sql_beautifier/create_table_parsing.rb
Class Method Summary collapse
Instance Method Summary collapse
- #detect_if_not_exists?(scanner) ⇒ Boolean
- #detect_modifier(scanner) ⇒ Object
- #skip_past_if_not_exists!(scanner) ⇒ Object
Class Method Details
.extended(base) ⇒ Object
5 6 7 8 9 |
# File 'lib/sql_beautifier/create_table_parsing.rb', line 5 def self.extended(base) base.private_class_method :detect_modifier base.private_class_method :detect_if_not_exists? base.private_class_method :skip_past_if_not_exists! end |
Instance Method Details
#detect_if_not_exists?(scanner) ⇒ Boolean
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/sql_beautifier/create_table_parsing.rb', line 15 def detect_if_not_exists?(scanner) return false unless scanner.keyword_at?("if") probe = Scanner.new(scanner.source, position: scanner.position) probe.skip_past_keyword!("if") return false unless probe.keyword_at?("not") probe.skip_past_keyword!("not") probe.keyword_at?("exists") end |
#detect_modifier(scanner) ⇒ Object
11 12 13 |
# File 'lib/sql_beautifier/create_table_parsing.rb', line 11 def detect_modifier(scanner) Constants::TABLE_MODIFIERS.detect { |modifier| scanner.keyword_at?(modifier) } end |
#skip_past_if_not_exists!(scanner) ⇒ Object
26 27 28 29 30 |
# File 'lib/sql_beautifier/create_table_parsing.rb', line 26 def skip_past_if_not_exists!(scanner) scanner.skip_past_keyword!("if") scanner.skip_past_keyword!("not") scanner.skip_past_keyword!("exists") end |