Class: PgObjects::Parser

Inherits:
Object
  • Object
show all
Includes:
Memery
Defined in:
lib/pg_objects/parser.rb

Overview

Reads directives from SQL-comments

--!depends_on [name_of_dependency]

name_of_dependency: short or full name of object as well as object_name

Constant Summary collapse

PG_ENTITIES =
%i[operator_class trigger define_statement conversion event_trigger type function table].freeze

Instance Method Summary collapse

Instance Method Details

#fetch_directivesObject



21
22
23
24
25
# File 'lib/pg_objects/parser.rb', line 21

def fetch_directives
  {
    depends_on: fetch_dependencies
  }
end

#fetch_object_nameObject



27
28
29
30
31
32
# File 'lib/pg_objects/parser.rb', line 27

def fetch_object_name
  parse_query
  parsed_object.name
rescue PgQuery::ParseError, NoMethodError
  nil
end

#load(source) ⇒ Object



16
17
18
19
# File 'lib/pg_objects/parser.rb', line 16

def load(source)
  @source = source
  self
end