Class: Merb::Generators::AppGenerator

Inherits:
NamedGenerator show all
Defined in:
merb-gen/lib/merb-gen/app_generator.rb

Instance Method Summary (collapse)

Methods inherited from NamedGenerator

#class_name, #file_name, #symbol_name, #test_class_name

Methods inherited from Generator

#go_up, source_root, #with_modules

Methods included from ColorfulMessages

#error, #success, #warning

Constructor Details

- (AppGenerator) initialize(*args)

A new instance of AppGenerator



6
7
8
9
# File 'merb-gen/lib/merb-gen/app_generator.rb', line 6

def initialize(*args)
  Merb.disable(:initfile)
  super
end

Instance Method Details

- (String) gems_for_orm(orm)

ORM gem dependencies.

Adds ORM plugin dependency 'merb_#{orm}' if we use any ORM.

Parameters:

  • orm (Symbol)

    ORM to use.

Returns:

  • (String)

    Gem dependencies.



25
26
27
# File 'merb-gen/lib/merb-gen/app_generator.rb', line 25

def gems_for_orm(orm)
  orm.to_sym == :none ? '' : %Q{gem "merb_#{orm}"}
end

- (String) gems_for_template_engine(template_engine)

Template enging gem dependencies.

When using something else than erb we add merb plugin dependency for the template engine.

Parameters:

  • template_engine (Symbol)

    Template engine to use.

Returns:

  • (String)

    Gem dependencies.



37
38
39
40
41
42
43
44
45
46
47
48
# File 'merb-gen/lib/merb-gen/app_generator.rb', line 37

def gems_for_template_engine(template_engine)
  gems = ''
  if template_engine != :erb
    if template_engine.in?(:haml, :builder)
      template_engine_plugin = "merb-#{template_engine}"
    else
      template_engine_plugin = "merb_#{template_engine}"
    end
    gems = %Q{gem "#{template_engine_plugin}"}
  end
  gems
end

- (String) gems_for_testing_framework(testing_framework)

Testing framework gem dependencies.

If we use any other test framework than RSpec we must add dependency to the Gemfile. Merb depends on the RSpec so it's default dependency.

Parameters:

  • test_framework (Symbol)

    Testing framework to use.

Returns:

  • (String)

    Gem dependencies.



58
59
60
# File 'merb-gen/lib/merb-gen/app_generator.rb', line 58

def gems_for_testing_framework(testing_framework)
  %Q{gem "#{testing_framework}", :group => :test}
end

- (String) merb_gems_version

Helper to get Merb version.

Returns:



14
15
16
# File 'merb-gen/lib/merb-gen/app_generator.rb', line 14

def merb_gems_version
  Merb::VERSION
end