annotate .svn/pristine/18/18d3632a00930fda235a1df851a99c522ae0e846.svn-base @ 1082:997f6d7738f7 bug_531

In repo controller entry action, show the page for the file even if it's binary (so user still has access to history etc links). This makes it possible to use the entry action as the default when a file is clicked on
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Thu, 22 Nov 2012 18:04:17 +0000
parents cbb26bc654de
children
rev   line source
Chris@909 1 require 'rails_generator/base'
Chris@909 2 require 'rails_generator/generators/components/model/model_generator'
Chris@909 3
Chris@909 4 class RedminePluginModelGenerator < ModelGenerator
Chris@909 5 attr_accessor :plugin_path, :plugin_name, :plugin_pretty_name
Chris@909 6
Chris@909 7 def initialize(runtime_args, runtime_options = {})
Chris@909 8 runtime_args = runtime_args.dup
Chris@909 9 usage if runtime_args.empty?
Chris@909 10 @plugin_name = "redmine_" + runtime_args.shift.underscore
Chris@909 11 @plugin_pretty_name = plugin_name.titleize
Chris@909 12 @plugin_path = "vendor/plugins/#{plugin_name}"
Chris@909 13 super(runtime_args, runtime_options)
Chris@909 14 end
Chris@909 15
Chris@909 16 def destination_root
Chris@909 17 File.join(Rails.root, plugin_path)
Chris@909 18 end
Chris@909 19
Chris@909 20 def manifest
Chris@909 21 record do |m|
Chris@909 22 # Check for class naming collisions.
Chris@909 23 m.class_collisions class_path, class_name, "#{class_name}Test"
Chris@909 24
Chris@909 25 # Model, test, and fixture directories.
Chris@909 26 m.directory File.join('app/models', class_path)
Chris@909 27 m.directory File.join('test/unit', class_path)
Chris@909 28 m.directory File.join('test/fixtures', class_path)
Chris@909 29
Chris@909 30 # Model class, unit test, and fixtures.
Chris@909 31 m.template 'model.rb.erb', File.join('app/models', class_path, "#{file_name}.rb")
Chris@909 32 m.template 'unit_test.rb.erb', File.join('test/unit', class_path, "#{file_name}_test.rb")
Chris@909 33
Chris@909 34 unless options[:skip_fixture]
Chris@909 35 m.template 'fixtures.yml', File.join('test/fixtures', "#{table_name}.yml")
Chris@909 36 end
Chris@909 37
Chris@909 38 unless options[:skip_migration]
Chris@909 39 m.migration_template 'migration.rb.erb', 'db/migrate', :assigns => {
Chris@909 40 :migration_name => "Create#{class_name.pluralize.gsub(/::/, '')}"
Chris@909 41 }, :migration_file_name => "create_#{file_path.gsub(/\//, '_').pluralize}"
Chris@909 42 end
Chris@909 43 end
Chris@909 44 end
Chris@909 45 end