Module: Rapidoc

Includes:
Config, ParamErrors, ResourcesExtractor, TemplatesGenerator, YamlParser
Defined in:
lib/rapidoc.rb,
lib/tasks/railtie.rb,
lib/rapidoc/config.rb,
lib/rapidoc/version.rb,
lib/rapidoc/action_doc.rb,
lib/rapidoc/routes_doc.rb,
lib/rapidoc/yaml_parser.rb,
lib/rapidoc/param_errors.rb,
lib/rapidoc/resource_doc.rb,
lib/rapidoc/http_response.rb,
lib/rapidoc/resources_extractor.rb,
lib/rapidoc/templates_generator.rb,
lib/rapidoc/controller_extractor.rb

Defined Under Namespace

Modules: Config, ParamErrors, ResourcesExtractor, TemplatesGenerator, YamlParser Classes: ActionDoc, ControllerExtractor, HttpResponse, Railtie, ResourceDoc, RoutesDoc

Constant Summary collapse

METHODS =
[ "GET", "PUT", "DELETE", "POST" ]
VERSION =
"0.0.7"

Constants included from Config

Config::GEM_ASSETS_DIR, Config::GEM_CONFIG_DIR, Config::GEM_EXAMPLES_DIR

Instance Method Summary collapse

Methods included from YamlParser

#extract_actions_info, #extract_resource_info

Methods included from ParamErrors

#get_default_error_info, #get_error_info, #get_inclusion_error_info, #get_required_error_info

Methods included from TemplatesGenerator

#create_action_template, #generate_actions_templates, #generate_index_template, #get_action_template, #get_index_template, #get_method_label

Methods included from ResourcesExtractor

#get_resources, #get_routes_doc

Methods included from Config

#actions_dir, #config_dir, #config_file_path, #controller_dir, #controllers_extension, #default_authentication, #default_errors, #default_errors?, #default_response_formats, #examples_dir, #gem_templates_dir, #load_config, #rapidoc_config, #resources_black_list, #target_dir, #trace?

Instance Method Details

#create_config_structureObject



24
25
26
27
# File 'lib/rapidoc.rb', line 24

def create_config_structure
  FileUtils.cp_r GEM_CONFIG_DIR + "/.", config_dir unless File.directory? config_dir
  FileUtils.mkdir examples_dir unless File.directory? examples_dir
end

#create_doc_structureObject



29
30
31
32
33
# File 'lib/rapidoc.rb', line 29

def create_doc_structure
  FileUtils.mkdir_p target_dir unless File.directory? target_dir
  FileUtils.mkdir_p actions_dir unless File.directory? actions_dir
  FileUtils.cp_r GEM_ASSETS_DIR, target_dir
end

#create_folders_for_file(file) ⇒ Object



35
36
37
38
39
40
# File 'lib/rapidoc.rb', line 35

def create_folders_for_file(file)
  route_dir = file.split("/")
  route_dir.pop
  route_dir = route_dir.join("/")
  FileUtils.mkdir route_dir unless File.directory? route_dir
end

#create_folders_for_files(files) ⇒ Object



42
43
44
45
46
# File 'lib/rapidoc.rb', line 42

def create_folders_for_files(files)
  files.each do |file|
    create_folders_for_file file
  end
end

#generate_docObject



71
72
73
74
75
# File 'lib/rapidoc.rb', line 71

def generate_doc
  resources_doc = get_resources
  generate_index_template( resources_doc )
  generate_actions_templates( resources_doc )
end

#remove_configObject



53
54
55
# File 'lib/rapidoc.rb', line 53

def remove_config
  FileUtils.rm_r config_dir if File.directory? config_dir
end

#remove_docObject



57
58
59
# File 'lib/rapidoc.rb', line 57

def remove_doc
  FileUtils.rm_r "#{::Rails.root}/public/docs" if File.directory? "#{::Rails.root}/public/docs"
end

#remove_examplesObject



67
68
69
# File 'lib/rapidoc.rb', line 67

def remove_examples
  FileUtils.rm_r examples_dir if File.directory? examples_dir
end

#remove_structureObject



48
49
50
51
# File 'lib/rapidoc.rb', line 48

def remove_structure
  remove_doc
  remove_config
end

#reset_structureObject



61
62
63
64
65
# File 'lib/rapidoc.rb', line 61

def reset_structure
  remove_structure
  create_config_structure
  create_doc_structure
end