class ApiSketch::Generators::Base

Attributes

definitions_dir[RW]
documentation_dir[RW]
templates_folder[R]

Public Class Methods

new(options = {}) click to toggle source

TODO: Add here some validations for folders existance, etc

# File lib/api_sketch/generators/base.rb, line 9
def initialize(options = {})
  self.definitions_dir = options[:definitions_dir]
  self.documentation_dir = options[:documentation_dir]
  @templates_folder = File.expand_path("../templates/#{self.class.name.split("::").last.downcase}", File.dirname(__FILE__))
end

Public Instance Methods

generate!() click to toggle source
# File lib/api_sketch/generators/base.rb, line 15
def generate!
  puts_info("Load definitions")
  load_definitions
  puts_info("Create documentation directory")
  puts_info("\t path: #{self.documentation_dir}")
  create_documentation_directory
  puts_info("Create documentation files")
  create_documentation_files
end

Private Instance Methods

create_documentation_directory() click to toggle source
# File lib/api_sketch/generators/base.rb, line 26
def create_documentation_directory
  FileUtils.rm_r(self.documentation_dir, :force => true)
  FileUtils.mkdir_p(self.documentation_dir)
end
create_documentation_files() click to toggle source

TODO: This is unfinished sample file generator it should be more complex at some other generators

Other generors should inherit from this class and implement this method
# File lib/api_sketch/generators/base.rb, line 33
def create_documentation_files
  raise "This method should be implemented at child class who inherits from ApiSketch::Generators::Base"
end
load_definitions() click to toggle source
# File lib/api_sketch/generators/base.rb, line 37
def load_definitions
  ApiSketch::Model::Resource.reload!(self.definitions_dir)
end