Class: PuzzlyApiPlugin::Generator
- Inherits:
-
Jekyll::Generator
- Object
- Jekyll::Generator
- PuzzlyApiPlugin::Generator
- Defined in:
- lib/puzzly_api_plugin/generator.rb
Instance Method Summary collapse
- #clean(site) ⇒ Object
- #clean_collection_directory(path) ⇒ Object
- #generate(site) ⇒ Object
- #log(message) ⇒ Object
- #render(site, view) ⇒ Object
Instance Method Details
#clean(site) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/puzzly_api_plugin/generator.rb', line 61 def clean(site) log("Cleanning site destination folder") destination = site.config["destination"] clean_collection_directory("#{destination}/apis") clean_collection_directory("#{destination}/caches") clean_collection_directory("#{destination}/contexts") clean_collection_directory("#{destination}/modules") clean_collection_directory("#{destination}/queries") clean_collection_directory("#{destination}/schemas") clean_collection_directory("#{destination}/tables") clean_collection_directory("#{destination}/topics") end |
#clean_collection_directory(path) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/puzzly_api_plugin/generator.rb', line 75 def clean_collection_directory(path) if(!Dir.exist?(path)) return end Dir.foreach(path) do |file| if ((file.to_s != ".") and (file.to_s != "..")) File.delete("#{path}/#{file}") end end end |
#generate(site) ⇒ Object
7 8 9 10 11 12 13 14 15 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/puzzly_api_plugin/generator.rb', line 7 def generate(site) clean(site) log("Processing #{site.documents.size} documents") site.documents.each do |document| collection = PuzzlyApiPlugin.const_get("#{document.collection.label.capitalize}Collection").instance collection.add(document) log("Processing document #{document.data}") end render site, HomeDashboardView.create render site, ContextsView.create ContextsCollection.instance.values.each do |context| render site, ContextView.create(context) end render site, ModulesView.create ModulesCollection.instance.values.each do |mod| render site, ModuleView.create(mod) end render site, SchemasView.create SchemasCollection.instance.values.each do |schema| render site, SchemaView.create(schema) end render site, ApisView.create ApisCollection.instance.values.each do |api| render site, ApiView.create(api) end render site, CachesView.create CachesCollection.instance.values.each do |cache| render site, CacheView.create(cache) end render site, QueriesView.create QueriesCollection.instance.values.each do |query| render site, QueryView.create(query) end render site, TablesView.create TablesCollection.instance.values.each do |table| render site, TableView.create(table) end render site, TopicsView.create TopicsCollection.instance.values.each do |topic| render site, TopicView.create(topic) end end |
#log(message) ⇒ Object
93 94 95 |
# File 'lib/puzzly_api_plugin/generator.rb', line 93 def log() PuzzlyApiPlugin.log() end |
#render(site, view) ⇒ Object
87 88 89 90 91 |
# File 'lib/puzzly_api_plugin/generator.rb', line 87 def render(site, view) content = view.render path = view.path site.pages << JSONPage.new(site, site.source, File.dirname(path), File.basename(path), content) end |