Class: Playgroundbook::ContentsManifestGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/renderer/contents_manifest_generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(ui = Cork::Board.new) ⇒ ContentsManifestGenerator

Returns a new instance of ContentsManifestGenerator.



5
6
7
# File 'lib/renderer/contents_manifest_generator.rb', line 5

def initialize(ui = Cork::Board.new)
  @ui = ui
end

Instance Method Details

#generate(book_metadata) ⇒ Object



9
10
11
12
13
# File 'lib/renderer/contents_manifest_generator.rb', line 9

def generate()
  @ui.puts "Generating main manifest file."
  write_manifest_file()
  @ui.puts "Manifest file generated."
end

#manifest_contents(book_metadata) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/renderer/contents_manifest_generator.rb', line 21

def manifest_contents()
  chapters = ["chapters"].map { |c| "#{c["name"]}.playgroundchapter" }
  manifest_contents = {
    "Name" => ["name"],
    "ContentIdentifier" => ["identifier"],
    "DeploymentTarget" => ["deployment_target"] || "ios10.0",
    "Chapters" => chapters,
    "Version" => "1.0",
    "ContentVersion" => "1.0"
  }
  manifest_contents["ImageReference"] = ["cover"] unless ["cover"].nil?
  manifest_contents
end

#write_manifest_file(book_metadata) ⇒ Object



15
16
17
18
19
# File 'lib/renderer/contents_manifest_generator.rb', line 15

def write_manifest_file()
  File.open(ManifestFileName, "w") do |file|
    file.write(manifest_contents().to_plist)
  end
end