Class: Skeletor::Skeletons::Skeleton
- Inherits:
-
Object
- Object
- Skeletor::Skeletons::Skeleton
- Defined in:
- lib/skeletor/skeletons/skeleton.rb
Overview
The Skeleton class provides a wrapper round the template file and handles loading it and validating it, as well as providing default values for any missing sections.
Constant Summary collapse
- SCHEMA_FILE =
Defines the location to the required schema file for the templates
File.join Skeletons::Loader::TEMPLATE_PATH,'template-schema.yml'
Instance Method Summary collapse
-
#directory_structure ⇒ Object
Returns the directory structure section.
-
#includes ⇒ Object
Returns the includes section.
-
#initialize(template) ⇒ Skeleton
constructor
Creates a new Skeleton instance from ‘template`.
-
#path ⇒ Object
Returns the template path.
-
#tasks ⇒ Object
Returns the tasks section.
Constructor Details
#initialize(template) ⇒ Skeleton
Creates a new Skeleton instance from ‘template`
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/skeletor/skeletons/skeleton.rb', line 16 def initialize(template) begin @template = Loader.load_template(template) validator = Grayskull::Validator.new(@template,SCHEMA_FILE) results = validator.validate if results["result"] puts "Validated Successfully!" @directory_structure = @template["directory_structure"] || [] @tasks = @template["tasks"] || {} @includes = @template["includes"] || {} @path = @template["path"] else puts 'Validation Failed with ' + @errors.count.to_s + ' errors'; puts '' results["errors"].each{ |error| puts error } exit end rescue LoadError => e puts e. exit end end |
Instance Method Details
#directory_structure ⇒ Object
Returns the directory structure section
45 46 47 |
# File 'lib/skeletor/skeletons/skeleton.rb', line 45 def directory_structure @directory_structure end |
#includes ⇒ Object
Returns the includes section
55 56 57 |
# File 'lib/skeletor/skeletons/skeleton.rb', line 55 def includes @includes end |
#path ⇒ Object
Returns the template path
60 61 62 |
# File 'lib/skeletor/skeletons/skeleton.rb', line 60 def path @path end |
#tasks ⇒ Object
Returns the tasks section
50 51 52 |
# File 'lib/skeletor/skeletons/skeleton.rb', line 50 def tasks @tasks end |