Class: Conferrable::FileBasedConfiguration

Inherits:
Configuration show all
Defined in:
lib/conferrable/file_based_configuration.rb

Overview

This class extends the Configuration class by introducing the concept of loading from a file.

Instance Attribute Summary collapse

Attributes inherited from Configuration

#all

Instance Method Summary collapse

Methods inherited from Configuration

#overlay

Constructor Details

#initialize(*filenames) ⇒ FileBasedConfiguration

Returns a new instance of FileBasedConfiguration.



16
17
18
19
20
21
22
23
# File 'lib/conferrable/file_based_configuration.rb', line 16

def initialize(*filenames)
  super() # explicit () because we do not want to send in filenames

  @filenames        = filenames.flatten
  @loaded_filenames = FileUtilities.resolve(@filenames)

  load!
end

Instance Attribute Details

#filenamesObject (readonly)

Returns the value of attribute filenames.



14
15
16
# File 'lib/conferrable/file_based_configuration.rb', line 14

def filenames
  @filenames
end

#loaded_filenamesObject (readonly)

Returns the value of attribute loaded_filenames.



14
15
16
# File 'lib/conferrable/file_based_configuration.rb', line 14

def loaded_filenames
  @loaded_filenames
end

Instance Method Details

#load!Object



25
26
27
28
29
# File 'lib/conferrable/file_based_configuration.rb', line 25

def load!
  configs = @loaded_filenames.map { |f| FileUtilities.read(f) }

  overlay(configs)
end