class Ronin::Gen::Generators::Repository

Generates a completely new Ronin Repository.

Constants

DEFAULT_AUTHOR

Default authors to use

LIB_DIR

The repository lib directory

METADATA_FILE

The repository metadata file

SCRIPT_DIR

The primary script directory

Public Instance Methods

generate() click to toggle source

Generates a skeleton repository.

# File lib/ronin/gen/generators/repository.rb, line 90
def generate
  template 'ronin.yml.erb', 'ronin.yml'
  template 'Rakefile.erb', 'Rakefile'

  mkdir LIB_DIR
  mkdir File.join(LIB_DIR,'ronin')
  touch File.join(LIB_DIR,Ronin::Repository::INIT_FILE)

  mkdir SCRIPT_DIR
  mkdir Ronin::Repository::DATA_DIR

  if docs?
    template '.yardopts.erb', '.yardopts'
  end

  if tests?
    cp '.rspec'

    mkdir 'spec'
    cp File.join('spec','spec_helper.rb')
  end

  if svn?
    run 'svnadmin', 'create', @path
  elsif git?
    run 'git', 'init'
  elsif hg?
    run 'hg', 'init'
  end
end
setup() click to toggle source

Sets up the repository generator.

Calls superclass method
# File lib/ronin/gen/generators/repository.rb, line 76
def setup
  super

  @title   ||= File.basename(@path).gsub(/[_\s]+/,' ').capitalize
  @website ||= @source

  if @authors.empty?
    @authors << DEFAULT_AUTHOR
  end
end