Sha256: 16ab5394e128143aa3b4f9b98a7b1f1124f3f206c02b20ea6892265e52baecac

Contents?: true

Size: 892 Bytes

Versions: 6

Compression:

Stored size: 892 Bytes

Contents

module Symbiont
  module DataBuilder
    extend DataReader

    class << self
      attr_accessor :data_source

      def default_data_path
        'data'
      end
    end

    def data_about(key, specified={})
      if key.is_a?(String) && key.match(%r{/})
        file, record = key.split('/')
        DataBuilder.load("#{file}.yml")
      else
        record = key.to_s
        DataBuilder.load('default.yml')
      end

      Symbiont::trace("DataBuilder.data_source = #{DataBuilder.data_source}")

      data = DataBuilder.data_source[record]
      raise ArgumentError, "Undefined key for data: #{key}" unless data

      data.merge(specified)
    end

    alias_method :data_from,       :data_about
    alias_method :data_for,        :data_about
    alias_method :using_data_for,  :data_about
    alias_method :using_data_from, :data_about
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
symbiont-0.11.0 lib/symbiont/data_builder.rb
symbiont-0.10.0 lib/symbiont/data_builder.rb
symbiont-0.9.0 lib/symbiont/data_builder.rb
symbiont-0.8.0 lib/symbiont/data_builder.rb
symbiont-0.7.0 lib/symbiont/data_builder.rb
symbiont-0.6.0 lib/symbiont/data_builder.rb