Sha256: e994e4ea7cfe9446129f3af311281edf2f0acafa6ffe2b2423477cd2fce3a2e2

Contents?: true

Size: 1.44 KB

Versions: 10

Compression:

Stored size: 1.44 KB

Contents

# This will generate an ORM 'model' for your application based on the specified ORM you're using. 
# 
# Example without columns:
#   rake generate:model name=user
# 
# app/models/user.rb:
#   class User
#     include DataMapper::Resource
#     
#   end
# db/migrations/<number>_create_users.rb:
#   migration <number>, :create_users do
#     up do
#     end
#   
#     down do
#     end
#   end
# 
# Example with columns:
#   rake generate:model name=user cols=username:string,email_address:string,created_at:datetime,updated_at:datetime
# 
# app/models/user.rb:
#   class User
#     include DataMapper::Resource
# 
#     property :username, String
#     property :email_address, String
#     property :created_at, DateTime
#     property :updated_at, DateTime
#   end
# db/migrations/<number>_create_users.rb:
#   migration <number>, :create_users do
#     up do
#       create_table :users do
#         column :username, String, :size => 50
#         column :email, String, :size => 50
#         column :created_at, DateTime
#         column :updated_at, DateTime
#       end
#     end
#   
#     down do
#       drop_table :users
#     end
#   end
class ModelGenerator < Genosaurus
  
  require_param :name

  def after_generate # :nodoc:
    MigrationGenerator.run(@options.merge({"name" => "create_#{param(:name).plural}"}))
  end
  
  def migration_columns # :nodoc:
    [Mack::Genosaurus::Orm::ModelColumn.new(param(:name), "id:serial"), columns].flatten
  end
  
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
mack-data_mapper-0.7.1.1 lib/mack-data_mapper/model_generator/model_generator.rb
mack-data_mapper-0.7.0 lib/mack-data_mapper/model_generator/model_generator.rb
mack-data_mapper-0.7.0.1 lib/mack-data_mapper/model_generator/model_generator.rb
mack-data_mapper-0.8.0.1 lib/mack-data_mapper/model_generator/model_generator.rb
mack-data_mapper-0.8.0.101 lib/mack-data_mapper/model_generator/model_generator.rb
mack-data_mapper-0.8.0.2 lib/mack-data_mapper/model_generator/model_generator.rb
mack-data_mapper-0.7.1 lib/mack-data_mapper/model_generator/model_generator.rb
mack-data_mapper-0.8.0.3 lib/mack-data_mapper/model_generator/model_generator.rb
mack-data_mapper-0.8.1 lib/mack-data_mapper/model_generator/model_generator.rb
mack-data_mapper-0.8.0 lib/mack-data_mapper/model_generator/model_generator.rb