Sha256: 57a542cc7266187b47770a140c6008bb217cf181d49075942f5276453590097a

Contents?: true

Size: 703 Bytes

Versions: 1

Compression:

Stored size: 703 Bytes

Contents

module CliDocs
  class Markdown < CliDocs::CLI::Base
    def initialize(options = {})
      super
      @repo_path = options[:repo_path]
    end

    def build
      puts "Building reference docs for: #{@repo_path}"
      cli_name = File.basename(@repo_path)  # tool
      cli_class = infer_cli_class(cli_name) # Tool::CLI
      Creator.create_all(cli_class: cli_class, cli_name: cli_name)
    end

    def infer_cli_class(cli_name)
      ENV["BUNDLE_GEMFILE"] = "#{@repo_path}/Gemfile"
      require "bundler/setup"
      Bundler.with_unbundled_env do
        Dir.chdir(@repo_path) do
          require cli_name
          "#{cli_name.camelize}::CLI".constantize
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cli-docs-0.1.0 lib/cli_docs/markdown.rb