Class: Bloc::Manifest
- Inherits:
-
Hashie::Mash
- Object
- Hashie::Mash
- Bloc::Manifest
- Defined in:
- lib/bloc/manifest.rb
Constant Summary collapse
- MANIFEST_NOT_FOUND =
"Unable to find Bloc Manifest in bloc/bloc_manifest.json".red
- MANIFEST_PATH =
File.join("bloc", "bloc_manifest.json")
- INVALID_MANIFEST =
"Invalid JSON in Bloc Manifest: #{MANIFEST_PATH}".red
- VALID_MANIFEST =
"Valid Bloc Manifest".green
- NO_SUCH_CHAPTER =
"No such chapter.".red
- NO_COURSE =
"Missing: course".red
- NO_CHAPTERS =
"Missing: chapters".red
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.parse ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/bloc/manifest.rb', line 11 def self.parse raise MANIFEST_NOT_FOUND unless File.exists?(MANIFEST_PATH) manifest_raw = File.read(MANIFEST_PATH) begin manifest = JSON.parse(manifest_raw) puts VALID_MANIFEST rescue raise INVALID_MANIFEST end Manifest.new(manifest) end |
Instance Method Details
#add_chapter(options) ⇒ Object
24 25 26 27 |
# File 'lib/bloc/manifest.rb', line 24 def add_chapter() chapters << Manifest.new() write end |
#write ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/bloc/manifest.rb', line 29 def write begin Dir.mkdir(File.dirname(MANIFEST_PATH)) rescue end File.open(MANIFEST_PATH, "w") do |file| file.write(JSON.pretty_generate(to_hash)) end end |