DelegateClass(Rails::Generator::Base)
Generator commands delegate Rails::Generator::Base and implement a standard set of actions. Their behavior is defined by the way they respond to these actions: Create brings life; Destroy brings death; List passively observes.
Commands are invoked by replaying (or rewinding) the generator's manifest of actions. See Rails::Generator::Manifest and Rails::Generator::Base#manifest method that generator subclasses are required to override.
Commands allows generators to "plug in" invocation behavior, which corresponds to the GoF Strategy pattern.
Does nothing for all commands except Create.
# File lib/rails_generator/commands.rb, line 53 def class_collisions(*class_names) end
# File lib/rails_generator/commands.rb, line 46 def dependency(generator_name, args, runtime_options = {}) logger.dependency(generator_name) do self.class.new(instance(generator_name, args, full_options(runtime_options))).invoke! end end
Replay action manifest. RewindBase subclass rewinds manifest.
# File lib/rails_generator/commands.rb, line 41 def invoke! manifest.replay(self) after_generate end
Does nothing for all commands except Create.
# File lib/rails_generator/commands.rb, line 57 def readme(*args) end
# File lib/rails_generator/commands.rb, line 61 def current_migration_number Dir.glob("#{RAILS_ROOT}/#{@migration_directory}/[0-9]*_*.rb").inject(0) do |max, file_path| n = File.basename(file_path).split('_', 2).first.to_i if n > max then n else max end end end
# File lib/rails_generator/commands.rb, line 76 def existing_migrations(file_name) Dir.glob("#{@migration_directory}/[0-9]*_*.rb").grep(/[0-9]+_#{file_name}.rb$/) end
# File lib/rails_generator/commands.rb, line 92 def gsub_file(relative_destination, regexp, *args, &block) path = destination_path(relative_destination) content = File.read(path).gsub(regexp, *args, &block) File.open(path, 'wb') { |file| file.write(content) } end
# File lib/rails_generator/commands.rb, line 72 def migration_directory(relative_path) directory(@migration_directory = relative_path) end
# File lib/rails_generator/commands.rb, line 80 def migration_exists?(file_name) not existing_migrations(file_name).empty? end
Generated with the Darkfish Rdoc Generator 2.