Class: Ykutils::Nginxconfig
- Inherits:
-
Object
- Object
- Ykutils::Nginxconfig
- Defined in:
- lib/ykutils/nginxconfig.rb
Instance Method Summary collapse
- #extract(scope) ⇒ Object
-
#initialize(yaml_path) ⇒ Nginxconfig
constructor
A new instance of Nginxconfig.
Constructor Details
#initialize(yaml_path) ⇒ Nginxconfig
Returns a new instance of Nginxconfig.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/ykutils/nginxconfig.rb', line 3 def initialize(yaml_path) # p "yaml_path=#{yaml_path}" yaml_pn = Pathname.new(yaml_path).cleanpath @virtual_domain_dir_pn = yaml_pn.parent @server_dir_pn = @virtual_domain_dir_pn.parent @common_dir_pn = @server_dir_pn.parent @hash = YAML.load_file(yaml_pn) # p @hash @root = @hash["_root"] # p @root root_template_0_pn = Pathname.new(@root["template"]).cleanpath @root_template_pn = @common_dir_pn + root_template_0_pn # puts "@root_template_pn=#{@root_template_pn}" end |
Instance Method Details
#extract(scope) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/ykutils/nginxconfig.rb', line 18 def extract(scope) hashx = {} @hash.each do |k, v| next unless k !~ /^_/ # puts k # puts v pn = Pathname.new(v["template"]).cleanpath # Pathname.new(v).cleanpath template_pn = @server_dir_pn + pn # puts(template_pn) value_file_path_array = v["value"].map do |x| @virtual_domain_dir_pn + Pathname.new(x).cleanpath end hashx[k] = Ykutils::Erubyx.erubi_render_with_file(template_pn, scope, value_file_path_array) end template = File.read(@root_template_pn) template_hash = { TEMPLATE: template, OBJ: nil } Ykutils::Erubyx.erubi_render(template_hash, scope, hashx) end |