Class: PgObjects::DbObjectFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/pg_objects/db_object_factory.rb

Overview

Factory for DbObject

Each DbObject gets its own Parser instance so the parser's mutable @source is never shared between objects. The parser class is injectable so callers/tests can substitute an alternate parser.

Instance Method Summary collapse

Constructor Details

#initialize(parser_class: PgObjects::Parser) ⇒ DbObjectFactory

Returns a new instance of DbObjectFactory.



10
11
12
# File 'lib/pg_objects/db_object_factory.rb', line 10

def initialize(parser_class: PgObjects::Parser)
  @parser_class = parser_class
end

Instance Method Details

#create_instance(path, status: :new) ⇒ Object



14
15
16
# File 'lib/pg_objects/db_object_factory.rb', line 14

def create_instance(path, status: :new)
  PgObjects::DbObject.new(path, status, parser: parser_class.new).create
end