Class: Frise::Loader

Inherits:
Object
  • Object
show all
Defined in:
lib/frise/loader.rb,
lib/frise/loader/lazy.rb

Overview

The entrypoint for loading configs from files according to the conventions defined for Frise.

The load method loads a configuration file, merges the applicable includes and validates its schema.

Defined Under Namespace

Classes: Lazy

Instance Method Summary collapse

Constructor Details

#initialize(include_sym: '$include', content_include_sym: '$content_include', schema_sym: '$schema', delete_sym: '$delete', pre_loaders: [], validators: nil, exit_on_fail: true) ⇒ Loader

Returns a new instance of Loader.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/frise/loader.rb', line 13

def initialize(include_sym: '$include',
               content_include_sym: '$content_include',
               schema_sym: '$schema',
               delete_sym: '$delete',
               pre_loaders: [],
               validators: nil,
               exit_on_fail: true)

  @include_sym = include_sym
  @content_include_sym = content_include_sym
  @schema_sym = schema_sym
  @delete_sym = delete_sym
  @pre_loaders = pre_loaders
  @validators = validators
  @exit_on_fail = exit_on_fail

  @defaults_loader = DefaultsLoader.new(
    include_sym: include_sym,
    content_include_sym: content_include_sym,
    schema_sym: schema_sym,
    delete_sym: delete_sym
  )
end

Instance Method Details

#load(config_file, global_vars = {}) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/frise/loader.rb', line 37

def load(config_file, global_vars = {})
  config = Parser.parse(config_file, global_vars)
  return nil unless config

  @pre_loaders.each do |pre_loader|
    config = pre_loader.call(config)
  end

  config = process_includes(config, [], config, global_vars) unless @include_sym.nil?
  config = process_schemas(config, [], global_vars) unless @schema_sym.nil?
  config
end