Class: TableSaw::Manifest

Inherits:
Object
  • Object
show all
Defined in:
lib/table_saw/manifest.rb

Defined Under Namespace

Classes: Table

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Manifest

Returns a new instance of Manifest.



44
45
46
# File 'lib/table_saw/manifest.rb', line 44

def initialize(config)
  @config = config
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



42
43
44
# File 'lib/table_saw/manifest.rb', line 42

def config
  @config
end

Class Method Details

.instanceObject

Raises:

  • (ArgumentError)


36
37
38
39
40
# File 'lib/table_saw/manifest.rb', line 36

def self.instance
  raise ArgumentError, 'Could not find manifest file' unless File.exist?(TableSaw.configuration.manifest)

  new(YAML.safe_load(File.read(TableSaw.configuration.manifest)))
end

Instance Method Details

#tablesObject



52
53
54
55
56
# File 'lib/table_saw/manifest.rb', line 52

def tables
  @tables ||= config['tables'].map { |entry| Table.new(variables, entry) }.each_with_object({}) do |t, memo|
    memo[t.name] = t
  end
end

#variablesObject



48
49
50
# File 'lib/table_saw/manifest.rb', line 48

def variables
  config['variables']
end