class TableSaw::Manifest
Attributes
config[R]
Public Class Methods
instance()
click to toggle source
# File lib/table_saw/manifest.rb, line 37 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
new(config)
click to toggle source
# File lib/table_saw/manifest.rb, line 45 def initialize(config) @config = config end
Public Instance Methods
associations()
click to toggle source
# File lib/table_saw/manifest.rb, line 68 def associations @associations ||= TableSaw::Associations.new(self) end
foreign_keys()
click to toggle source
# File lib/table_saw/manifest.rb, line 64 def foreign_keys @foreign_keys ||= config.fetch('foreign_keys', []) end
has_many()
click to toggle source
# File lib/table_saw/manifest.rb, line 60 def has_many @has_many ||= config.fetch('has_many', {}) end
tables()
click to toggle source
# File lib/table_saw/manifest.rb, line 54 def tables @tables ||= config['tables'].map { |entry| Table.new(variables, entry) }.each_with_object({}) do |t, memo| memo[t.name] = t end end
variables()
click to toggle source
# File lib/table_saw/manifest.rb, line 49 def variables vars = config.fetch('variables', {}) vars.merge(TableSaw.configuration.variables.slice(*vars.keys)) end