Class: Bloc::Command::Validate
- Inherits:
-
Object
- Object
- Bloc::Command::Validate
- Defined in:
- lib/bloc/command/validate.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_DEFAULT_COURSE_FILE =
"No default file for course specified (OK)".green
- VALID_DEFAULT_COURSE_FILE =
"Default file for course exists (OK)".green
- INVALID_DEFAULT_COURSE_FILE =
"Default file for course does not exist (expected %s)".red
- NO_DEFAULT_CHAPTER_FILE =
"No default file for chapter specified (OK): %s".green
- VALID_DEFAULT_CHAPTER_FILE =
"Default file for chapter exists (OK): %s".green
- INVALID_DEFAULT_CHAPTER_FILE =
"Default file for chapter does not exist: %s (expected %s)".red
Class Method Summary collapse
- .check_chapter_default_files(manifest) ⇒ Object
- .check_course_default_file(manifest) ⇒ Object
- .parse_manifest ⇒ Object
- .run(*args) ⇒ Object
Class Method Details
.check_chapter_default_files(manifest) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/bloc/command/validate.rb', line 47 def self.check_chapter_default_files(manifest) manifest["chapters"].each do |chapter| if chapter["default_file"].nil? puts NO_DEFAULT_CHAPTER_FILE % chapter["name"] else if File.exists? chapter["default_file"] puts VALID_DEFAULT_CHAPTER_FILE % chapter["name"] else raise INVALID_DEFAULT_CHAPTER_FILE % [chapter["name"], chapter["default_file"]] end end end end |
.check_course_default_file(manifest) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/bloc/command/validate.rb', line 34 def self.check_course_default_file(manifest) course_default_file = manifest["default_file"] if course_default_file.nil? puts NO_DEFAULT_COURSE_FILE else if File.exists? course_default_file puts VALID_DEFAULT_COURSE_FILE else raise INVALID_DEFAULT_COURSE_FILE % manifest end end end |
.parse_manifest ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/bloc/command/validate.rb', line 21 def self.parse_manifest 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 end |
.run(*args) ⇒ Object
15 16 17 18 19 |
# File 'lib/bloc/command/validate.rb', line 15 def self.run(*args) manifest = parse_manifest check_course_default_file manifest check_chapter_default_files manifest end |