Class: Webhookdb::Tasks::Docs

Inherits:
Rake::TaskLib
  • Object
show all
Defined in:
lib/webhookdb/tasks/docs.rb

Instance Method Summary collapse

Constructor Details

#initializeDocs

Returns a new instance of Docs.



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
# File 'lib/webhookdb/tasks/docs.rb', line 11

def initialize
  super()
  namespace :docs do
    desc "Write out auto-generated docs for integrations."
    task :replicators, [:out, :name] do |_, args|
      (out = args[:out]) or raise ArgumentError, "must pass :out param (directory to write files)"
      require "webhookdb/replicator"
      Webhookdb.load_app
      if (rname = args[:name])
        repl = Webhookdb::Replicator.registered!(rname)
        puts self.replicator_md(repl)
      else
        descriptors = Webhookdb::Replicator::Docgen.documentable_descriptors
        descriptors.each do |repl|
          md = self.replicator_md(repl)
          path = File.join(out, "#{repl.name}.md")
          File.write(path, md)
        end
        list_md = Webhookdb::Replicator::Docgen.replicator_list_md(descriptors)
        list_path = File.join(out, "../_includes/replicator_list.md")
        File.write(list_path, list_md)
      end
    end
  end
end

Instance Method Details

#replicator_md(desc) ⇒ Object



38
39
40
# File 'lib/webhookdb/tasks/docs.rb', line 38

def replicator_md(desc)
  return Webhookdb::Replicator::Docgen.new(desc).markdown
end