Class: Sprout::RubyGenerator

Inherits:
Generator::Base show all
Defined in:
lib/sprout/generators/ruby/ruby_generator.rb

Constant Summary

Constants included from Executable

DEFAULT_FILE_EXPRESSION, DEFAULT_PREFIX, DEFAULT_SHORT_PREFIX

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Methods inherited from Generator::Base

#default_search_paths, #directory, #execute, #file, #generator, inherited, #prepare_command, #resolve_template, #say, #template, #template_paths, #unexecute

Methods included from Concern

#append_features, extended, #included

Instance Attribute Details

- (String) bin

The name of the bin directory - where executables will be located.

Returns:

  • (String)

    An instance of String



# File ''

add_param :bin, String, { :default => 'bin' }

- (String) fixtures

The name of the 'fixtures' directory - where test fixtures will be located.

Returns:

  • (String)

    An instance of String



# File ''

add_param :fixtures, String, { :default => 'fixtures' }

- (String) lib

The name of the 'lib' directory - where your Ruby files will be located.

Returns:

  • (String)

    An instance of String



# File ''

add_param :lib, String, { :default => 'lib' }

- (String) test

The name of the 'test' directory - where all tests and fixtures will be located.

Returns:

  • (String)

    An instance of String



# File ''

add_param :test, String, { :default => 'test' }

- (String) unit

The name of the 'unit' directory - where unit tests will be located.

Returns:

  • (String)

    An instance of String



# File ''

add_param :unit, String, { :default => 'unit' }

- (String) version

The 3-part version for the new Ruby application.

Returns:

  • (String)

    An instance of String



# File ''

add_param :version, String, { :default => '0.0.0.pre' }

Instance Method Details

- (Object) manifest



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
60
61
# File 'lib/sprout/generators/ruby/ruby_generator.rb', line 34

def manifest
  snake = input.snake_case

  directory snake do
    template 'Gemfile', 'ruby_gemfile'
    template 'Rakefile', 'ruby_rakefile'
    template "#{input.snake_case}.gemspec", 'ruby_gemspec'

    directory lib do
      template "#{snake}.rb", 'ruby_input.rb'
      directory snake do
        template 'base.rb', 'ruby_base.rb'
      end
    end

    directory test do
      directory fixtures
      directory unit do
        template "#{input.snake_case}_test.rb", 'ruby_test_case.rb'
      end
      template 'test_helper.rb', 'ruby_test_helper.rb'
    end

    directory bin do
      template input.dash_case, 'ruby_executable'
    end
  end
end