Class: Metanorma::Release::Site
- Inherits:
-
Object
- Object
- Metanorma::Release::Site
- Defined in:
- lib/metanorma/release/site.rb
Instance Attribute Summary collapse
-
#index ⇒ Object
readonly
Returns the value of attribute index.
-
#output_dir ⇒ Object
readonly
Returns the value of attribute output_dir.
Instance Method Summary collapse
- #enrich! ⇒ Object
-
#initialize(index:, output_dir:, data_dir: nil) ⇒ Site
constructor
A new instance of Site.
- #package!(zip_path: nil) ⇒ Object
- #write! ⇒ Object
Constructor Details
#initialize(index:, output_dir:, data_dir: nil) ⇒ Site
Returns a new instance of Site.
12 13 14 15 16 |
# File 'lib/metanorma/release/site.rb', line 12 def initialize(index:, output_dir:, data_dir: nil) @index = index @output_dir = output_dir @data_dir = data_dir end |
Instance Attribute Details
#index ⇒ Object (readonly)
Returns the value of attribute index.
10 11 12 |
# File 'lib/metanorma/release/site.rb', line 10 def index @index end |
#output_dir ⇒ Object (readonly)
Returns the value of attribute output_dir.
10 11 12 |
# File 'lib/metanorma/release/site.rb', line 10 def output_dir @output_dir end |
Instance Method Details
#enrich! ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/metanorma/release/site.rb', line 23 def enrich! return if index.empty? documents = enrich_documents write_relaton_index(documents) write_data_file(documents) if @data_dir end |
#package!(zip_path: nil) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/metanorma/release/site.rb', line 31 def package!(zip_path: nil) require "zip" path = zip_path || "#{output_dir}.zip" Zip::File.open(path, Zip::File::CREATE) do |zipfile| Dir.glob("#{output_dir}/**/*").each do |file| next if File.directory?(file) entry_name = file.sub("#{File.dirname(output_dir)}/", "") zipfile.add(entry_name, file) end end path end |
#write! ⇒ Object
18 19 20 21 |
# File 'lib/metanorma/release/site.rb', line 18 def write! FileUtils.mkdir_p(output_dir) index.write(File.join(output_dir, "index.json")) end |