Module: Fluent::DataBuilder

Extended by:
DataReader
Included in:
Fluent
Defined in:
lib/fluent/data_builder.rb

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DataReader

data_path, data_path=, load

Class Attribute Details

.data_sourceObject

Returns the value of attribute data_source.



8
9
10
# File 'lib/fluent/data_builder.rb', line 8

def data_source
  @data_source
end

Class Method Details

.default_data_pathObject



11
12
13
# File 'lib/fluent/data_builder.rb', line 11

def self.default_data_path
  'data'
end

Instance Method Details

#data_for(key, specified = {}) ⇒ Object Also known as: data_from, data_about, using_data_for, using_data_from

Raises:

  • (ArgumentError)


15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/fluent/data_builder.rb', line 15

def data_for(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') #unless DataBuilder.data_source
  end

  Fluent::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