Sha256: 5df9d6ad20cef38961e1cab199a5cf8dfbac62a10272bd713ecd5dba832ae7af

Contents?: true

Size: 1.33 KB

Versions: 1

Compression:

Stored size: 1.33 KB

Contents

module Ykutils
  class Nginxconfig
    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

    def extract(scope)
      hashx = {}
      @hash.each do |k, v|
        if 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{|x|
            @virtual_domain_dir_pn + Pathname.new(x).cleanpath
          }
          hashx[k] = Ykutils::Erubyx::erubi_render_with_file(template_pn, scope, value_file_path_array)
        end
      end
      template = File.read(@root_template_pn)
      template_hash = { TEMPLATE: template,
        OBJ: nil
      }
      Ykutils::Erubyx::erubi_render(template_hash, scope, hashx)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ykutils-0.1.4 lib/ykutils/nginxconfig.rb