Sha256: 16777358af91c518c9e6408b789cebb08ff0d65d1f01261159d1cb21bc3fe4d1
Contents?: true
Size: 1.85 KB
Versions: 2
Compression:
Stored size: 1.85 KB
Contents
module Padrino module Generators module Components module Orms module MongomapperGen MONGO = (<<-MONGO).gsub(/^ {10}/, '') MongoMapper.connection = Mongo::Connection.new('localhost', nil, :logger => logger) case Padrino.env when :development then MongoMapper.database = '!NAME!_development' when :production then MongoMapper.database = '!NAME!_production' when :test then MongoMapper.database = '!NAME!_test' end MONGO def setup_orm require_dependencies 'mongo_ext', :require => 'mongo' require_dependencies 'mongo_mapper' create_file("config/database.rb", MONGO.gsub(/!NAME!/, name.underscore)) empty_directory('app/models') end MM_MODEL = (<<-MODEL).gsub(/^ {10}/, '') class !NAME! include MongoMapper::Document # key <name>, <type> !FIELDS! timestamps! end MODEL def create_model_file(name, fields) model_path = destination_root('app/models/', "#{name.to_s.underscore}.rb") field_tuples = fields.collect { |value| value.split(":") } column_declarations = field_tuples.collect { |field, kind| "key :#{field}, #{kind.camelize}" }.join("\n ") model_contents = MM_MODEL.gsub(/!NAME!/, name.to_s.camelize) model_contents.gsub!(/!FIELDS!/, column_declarations) create_file(model_path, model_contents) end def create_model_migration(filename, name, fields) # NO MIGRATION NEEDED end def create_migration_file(migration_name, name, columns) # NO MIGRATION NEEDED end end # MongomapperGen end # Orms end # Components end # Generators end # Padrino
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
padrino-gen-0.9.9 | lib/padrino-gen/generators/components/orms/mongomapper_gen.rb |
padrino-gen-0.9.7 | lib/padrino-gen/generators/components/orms/mongomapper_gen.rb |