Sha256: 4048e06461263f72eabe2aa29d203e691263d6565cc20947cef359192945581e
Contents?: true
Size: 1.12 KB
Versions: 2
Compression:
Stored size: 1.12 KB
Contents
require 'data_magic/core_ext/string' require 'data_magic/core_ext/fixnum' require "data_magic/version" require "data_magic/translation" require 'yml_reader' require 'faker' module DataMagic extend YmlReader attr_reader :parent def self.included(cls) @parent = cls translators.each do |translator| Translation.send :include, translator end end def data_for(key, additional={}) DataMagic.load('default.yml') unless DataMagic.yml data = DataMagic.yml[key.to_s] prep_data data.merge(additional).clone end private def prep_data(data) data.each do |key, value| unless value.nil? next unless value.respond_to? '[]' data[key] = translate(value[1..-1]) if value[0,1] == "~" end end data end def translate(value) translation.send :process, value end def translation @translation ||= Translation.new parent end class << self attr_accessor :yml def default_directory 'config/data' end def add_translator(translator) translators << translator end def translators @translators ||= [] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
data_magic-0.15.1 | lib/data_magic.rb |
data_magic-0.15 | lib/data_magic.rb |