Sha256: 414f5ea7494d6f62bb117920c00a218e952ba3536a87b011fd9addccd2aecb40

Contents?: true

Size: 742 Bytes

Versions: 2

Compression:

Stored size: 742 Bytes

Contents

require "data_reader/version"
require "yaml"
require "erb"

module DataReader
  def data_path=(path)
    @data_path = path
  end

  def data_path
    return @data_path if @data_path
    return default_data_path if respond_to? :default_data_path
    nil
  end

  def data_source
    return @data_source if @data_source
    nil
  end

  def load(file_list)
    files = file_list.include?(',') ? file_list.split(',') : [file_list]
    files = files.collect(&:strip)
    @data_source = files.inject({}) do |data, file|
      data.merge!(YAML.load(
                    ERB.new(File.read("#{data_path}/#{file}")).result(binding)
      ))
    end
  end

  def include_data(filename)
    ERB.new(IO.read("#{data_path}/#{filename}")).result
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
data_reader-1.0.1 lib/data_reader.rb
data_reader-1.0.0 lib/data_reader.rb