Class: Wanko::Generators::ExtensionGenerator

Inherits:
Rails::Generators::PluginGenerator
  • Object
show all
Defined in:
lib/generators/wanko/extension_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ ExtensionGenerator

Returns a new instance of ExtensionGenerator.



21
22
23
24
25
26
27
28
# File 'lib/generators/wanko/extension_generator.rb', line 21

def initialize(*args)
  options = args.extract_options!
  options[:destination_root] = 'app/extensions'
  super(*args, options)
  options = @options.dup
  options[:mountable] = options[:skip_bundle] = options[:skip_test_unit] = options[:skip_git] = options[:skip_gemfile] = true
  @options = options.freeze
end

Class Method Details

.source_pathsObject



16
17
18
# File 'lib/generators/wanko/extension_generator.rb', line 16

def source_paths
  [File.expand_path('../templates', __FILE__), *super]
end

Instance Method Details

#bundle_to_parentObject



49
50
51
52
# File 'lib/generators/wanko/extension_generator.rb', line 49

def bundle_to_parent
  gemfile = Rails.root + 'Gemfile'
  append_to_file gemfile, "gem '#{name}', path: '#{destination_root}'\n" if gemfile.exist?
end

#create_bin_filesObject

override



35
36
# File 'lib/generators/wanko/extension_generator.rb', line 35

def create_bin_files
end

#generate_controllerObject



54
55
56
57
58
59
60
61
# File 'lib/generators/wanko/extension_generator.rb', line 54

def generate_controller
  if base_controller
    Dir.chdir destination_root do
      #FIXME call the controller generator directly
      puts `rails g wanko:controller #{name}/#{base_controller} #{actions * ' '}`
    end
  end
end

#get_builder_classObject



30
31
32
# File 'lib/generators/wanko/extension_generator.rb', line 30

def get_builder_class
  Wanko::ExtensionBuilder
end

#put_litter_in_its_placeObject



38
39
40
41
42
# File 'lib/generators/wanko/extension_generator.rb', line 38

def put_litter_in_its_place
  remove_file 'MIT-LICENSE'
  remove_file "app/controllers/#{name}/application_controller.rb"
  remove_file "lib/tasks/#{name}_tasks.rake"
end

#untodo_gemspecObject



44
45
46
47
# File 'lib/generators/wanko/extension_generator.rb', line 44

def untodo_gemspec
  gemspec = "#{name}.gemspec"
  gsub_file gemspec, /"TODO.*?"/, '""'
end