11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/docman/docroot_config.rb', line 11
def initialize(docroot_dir, deploy_target_name = nil, options = nil)
@override = {}
if options && options['config']
@override = JSON.parse(options['config'])
end
@docroot_dir = docroot_dir
@docroot_config_dir = File.join(docroot_dir, 'config')
Dir.chdir @docroot_config_dir
unless options.key? :config_dir
update('origin')
end
config_files = Docman::Application.instance.config_dirs(options).collect{|item|
File.join(@docroot_config_dir, item, 'config.{yaml,yml}')
}
config_file_path = Dir.glob(config_files).first
raise "Configuration file config.{yaml,yml} not found." if config_file_path.nil?
@config_dir = File.dirname(config_file_path)
@config_file = File.basename(config_file_path)
Docman::Application.instance.config.merge_config_from_file(docroot_dir, @config_dir, @config_file, options)
if deploy_target_name
@deploy_target = Application.instance.config['deploy_targets'][deploy_target_name]
raise "Wrong deploy target: #{deploy_target_name}" if @deploy_target.nil?
@deploy_target['name'] = deploy_target_name
end
@names = {}
@raw_infos = {}
master_file = File.join(@docroot_config_dir, 'master')
if File.directory? master_file
@structure = structure_build(File.join(@docroot_config_dir, 'master'))
else
@structure = structure_build_from_config_file(Docman::Application.instance.config)
end
end
|