Sha256: cd52d19894b331248847e28226301fae206d3abad728a0320a9756a50adbd585

Contents?: true

Size: 1.54 KB

Versions: 19

Compression:

Stored size: 1.54 KB

Contents

class HoboUserModelGenerator < Rails::Generator::NamedBase

  def manifest
    record do |m|
      # Check for class naming collisions.
      m.class_collisions class_path, class_name, "#{class_name}Test"

      # Model, test, and fixture directories.
      m.directory File.join('app/models', class_path)
      m.directory File.join('test/unit', class_path)
      m.directory File.join('test/fixtures', class_path)
      mailer_dir = File.join("app/views", class_path[0..-2], "#{file_name.singularize}_mailer")
      m.directory mailer_dir

      # Model class, unit test, and fixtures.
      m.template 'model.rb',            File.join('app/models',    class_path, "#{file_name}.rb")
      m.template 'unit_test.rb',        File.join('test/unit',     class_path, "#{file_name}_test.rb")
      m.template 'fixtures.yml',        File.join('test/fixtures', class_path, "#{table_name}.yml")

      m.template 'mailer.rb',           File.join('app/models', class_path, "#{file_name}_mailer.rb")
      m.template 'forgot_password.erb', File.join(mailer_dir, "forgot_password.erb")
      
      if invite_only?
        m.template 'invite.erb', File.join(mailer_dir, "invite.erb")
      end
    end
  end
  
  def invite_only?
    options[:invite_only]
  end

  protected
    def banner
      "Usage: #{$0} #{spec.name} ModelName [--invite-only]"
    end
    
    def add_options!(opt)
      opt.separator ''
      opt.separator 'Options:'
      opt.on("--invite-only", "Add features for an invite only website") do |v|
        options[:invite_only] = true
      end
    end

end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
hobo-1.1.0 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-1.0.3 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-1.1.0.pre4 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-1.1.0.pre3 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-1.1.0.pre2 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-1.1.0.pre0 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-1.0.2 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-1.0.1 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-1.0.0 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-0.9.106 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-0.9.105 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-0.9.104 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-0.9.103 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-0.9.102 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-0.9.101 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-0.9.100 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-0.9.0 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-0.8.10 rails_generators/hobo_user_model/hobo_user_model_generator.rb
hobo-0.8.9 rails_generators/hobo_user_model/hobo_user_model_generator.rb