Class: PgObjects::ParsedObjectFactory
- Inherits:
-
Object
- Object
- PgObjects::ParsedObjectFactory
- Defined in:
- lib/pg_objects/parsed_object_factory.rb
Overview
Returns an object of the respective class based on the provided parsed query
Constant Summary collapse
- DISPATCH =
{ composite_type_stmt: PgObjects::ParsedObject::Type, create_conversion_stmt: PgObjects::ParsedObject::Conversion, create_domain_stmt: PgObjects::ParsedObject::Domain, create_enum_stmt: PgObjects::ParsedObject::EnumType, create_event_trig_stmt: PgObjects::ParsedObject::EventTrigger, create_extension_stmt: PgObjects::ParsedObject::Extension, create_function_stmt: PgObjects::ParsedObject::Function, create_op_class_stmt: PgObjects::ParsedObject::OperatorClass, create_policy_stmt: PgObjects::ParsedObject::Policy, create_range_stmt: PgObjects::ParsedObject::RangeType, create_seq_stmt: PgObjects::ParsedObject::Sequence, create_stmt: PgObjects::ParsedObject::Table, create_trig_stmt: PgObjects::ParsedObject::Trigger, index_stmt: PgObjects::ParsedObject::Index, rule_stmt: PgObjects::ParsedObject::Rule, view_stmt: PgObjects::ParsedObject::View }.freeze
- DEFINE_STMT_DISPATCH =
{ OBJECT_AGGREGATE: PgObjects::ParsedObject::Aggregate, OBJECT_OPERATOR: PgObjects::ParsedObject::Operator, OBJECT_TSPARSER: PgObjects::ParsedObject::TextSearchParser, OBJECT_TSTEMPLATE: PgObjects::ParsedObject::TextSearchTemplate, OBJECT_TYPE: PgObjects::ParsedObject::BaseType }.freeze
Class Method Summary collapse
Instance Method Summary collapse
- #create_object ⇒ Object
-
#initialize(input_data) ⇒ ParsedObjectFactory
constructor
A new instance of ParsedObjectFactory.
Constructor Details
#initialize(input_data) ⇒ ParsedObjectFactory
Returns a new instance of ParsedObjectFactory.
38 39 40 41 |
# File 'lib/pg_objects/parsed_object_factory.rb', line 38 def initialize(input_data) @input_data = input_data @stmt = input_data.tree.stmts[0].stmt end |
Class Method Details
.create_object(input_data) ⇒ Object
34 35 36 |
# File 'lib/pg_objects/parsed_object_factory.rb', line 34 def self.create_object(input_data) new(input_data).create_object end |
Instance Method Details
#create_object ⇒ Object
43 44 45 |
# File 'lib/pg_objects/parsed_object_factory.rb', line 43 def create_object determine_class.new(stmt) end |