Wolox/dictum

View on GitHub
lib/tasks/dictum.rake

Summary

Maintainability
Test Coverage
require 'rake'

namespace :dictum do
  GEM_DIR = Gem::Specification.find_by_name('dictum').gem_dir
  DEFAULT_CONFIG_PATH = GEM_DIR + '/lib/tasks/default_configuration'
  DEFAULT_INITIALIZER = GEM_DIR + '/lib/tasks/default_initializer'

  desc 'Starts the documenting process'
  task document: :environment do
    system 'bundle exec rails runner -e test Dictum.document'
  end

  desc 'Installs the basic configuration in the file specified or in spec/support/spec_helper.rb'
  task configure: :environment do
    configuration_file_path = ARGV[1] || 'spec/support/spec_helper.rb'
    initializer_file_path = Rails.root.join('config', 'initializers', 'dictum.rb')

    default_config = File.read(DEFAULT_CONFIG_PATH)
    default_initializer = File.read(DEFAULT_INITIALIZER)

    File.open(configuration_file_path, 'a+') do |file|
      file.puts(default_config)
    end

    File.open(initializer_file_path, 'a+') do |file|
      file.puts(default_initializer)
    end
  end
end