Sha256: dc9576d778e6447f844e925b2aeb08c21462b91b841459b0e6260ae35b6747c3

Contents?: true

Size: 858 Bytes

Versions: 7

Compression:

Stored size: 858 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

7 entries across 7 versions & 1 rubygems

Version Path
symbiont-1.2.0 lib/symbiont/data_builder.rb
symbiont-1.1.2 lib/symbiont/data_builder.rb
symbiont-1.1.0 lib/symbiont/data_builder.rb
symbiont-1.0.0 lib/symbiont/data_builder.rb
symbiont-0.14.0 lib/symbiont/data_builder.rb
symbiont-0.13.0 lib/symbiont/data_builder.rb
symbiont-0.12.0 lib/symbiont/data_builder.rb