Module: Accessible::DataLoader

Extended by:
DataLoader
Included in:
DataLoader
Defined in:
lib/accessible/data_loader.rb

Instance Method Summary collapse

Instance Method Details

#evaluate_erb(text) ⇒ Object



8
9
10
# File 'lib/accessible/data_loader.rb', line 8

def evaluate_erb(text)
  ERB.new(text).result
end

#load_source(source) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/accessible/data_loader.rb', line 18

def load_source(source)
  case source
  when Hash
    source
  when Symbol
    load_yaml_erb("config/#{source}.yml")
  when String
    load_yaml_erb(source)
  else
    raise("Invalid data source: #{source}")
  end
end

#load_yaml_erb(yaml_file) ⇒ Object



12
13
14
15
16
# File 'lib/accessible/data_loader.rb', line 12

def load_yaml_erb(yaml_file)
  contents = File.read(yaml_file)
  evaluated_contents = evaluate_erb(contents)
  YAML.load(evaluated_contents) || {}
end