Class: VersionedStore::Config

Inherits:
Data
  • Object
show all
Defined in:
lib/versioned_store/config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dir: nil, path: nil, logger: nil, versioned: true, db_filename: nil) ⇒ Config

Returns a new instance of Config.

Raises:

  • (ArgumentError)


5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/versioned_store/config.rb', line 5

def initialize(dir: nil, path: nil, logger: nil, versioned: true, db_filename: nil)
  raise ArgumentError, "Must provide either dir: or path:, not both" if dir && path
  raise ArgumentError, "Must provide either dir: or path:" unless dir || path

  db_filename ||= (
    if path
      dir = File.dirname(path)
      db_filename = File.basename(path)
    else
      db_filename = "db.sqlite3"
    end
  )

  super(
    dir:,
    db_filename:,
    logger:,
    versioned:
  )
end

Instance Attribute Details

#db_filenameObject (readonly)

Returns the value of attribute db_filename

Returns:

  • (Object)

    the current value of db_filename



4
5
6
# File 'lib/versioned_store/config.rb', line 4

def db_filename
  @db_filename
end

#dirObject (readonly)

Returns the value of attribute dir

Returns:

  • (Object)

    the current value of dir



4
5
6
# File 'lib/versioned_store/config.rb', line 4

def dir
  @dir
end

#loggerObject (readonly)

Returns the value of attribute logger

Returns:

  • (Object)

    the current value of logger



4
5
6
# File 'lib/versioned_store/config.rb', line 4

def logger
  @logger
end

#versionedObject (readonly)

Returns the value of attribute versioned

Returns:

  • (Object)

    the current value of versioned



4
5
6
# File 'lib/versioned_store/config.rb', line 4

def versioned
  @versioned
end