Class: IML::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/iml/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path = nil) ⇒ Configuration

Returns a new instance of Configuration.



6
7
8
9
# File 'lib/iml/configuration.rb', line 6

def initialize(path = nil)
  path ||= default_path
  @data = YAML.safe_load_file(path, permitted_classes: [Symbol])
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



4
5
6
# File 'lib/iml/configuration.rb', line 4

def data
  @data
end

Instance Method Details

#audio_mapObject



15
16
17
# File 'lib/iml/configuration.rb', line 15

def audio_map
  @audio_map ||= data.fetch("audio", {})
end

#codec_mapObject



11
12
13
# File 'lib/iml/configuration.rb', line 11

def codec_map
  @codec_map ||= data.fetch("codec", {})
end

#extension_listObject



27
28
29
# File 'lib/iml/configuration.rb', line 27

def extension_list
  @extension_list ||= data.fetch("extension", [])
end

#pattern_for(field) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/iml/configuration.rb', line 31

def pattern_for(field)
  value = data.fetch(field.to_s)

  case value
  when Hash
    "(?<#{field}>(#{value.keys.join("|")}))"
  when Array
    "(?<#{field}>(#{value.join("|")}))"
  when String
    "(?<#{field}>#{value})"
  end
end

#quality_listObject



23
24
25
# File 'lib/iml/configuration.rb', line 23

def quality_list
  @quality_list ||= data.fetch("quality", [])
end

#source_mapObject



19
20
21
# File 'lib/iml/configuration.rb', line 19

def source_map
  @source_map ||= data.fetch("source", {})
end