Sha256: 156d3b520281a8fa17955d842cd234dc66cbd2f45cc8f7c827fabdfaeef5e529
Contents?: true
Size: 1.51 KB
Versions: 3
Compression:
Stored size: 1.51 KB
Contents
MONGO = (<<-MONGO) unless defined?(MONGO) 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 'bson_ext', :require => 'mongo' require_dependencies 'mongo_mapper' require_dependencies('SystemTimer', :require => 'system_timer') if RUBY_VERSION =~ /1\.8/ && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == 'ruby') create_file("config/database.rb", MONGO.gsub(/!NAME!/, @app_name.underscore)) end MM_MODEL = (<<-MODEL) unless defined?(MM_MODEL) class !NAME! include MongoMapper::Document # key <name>, <type> !FIELDS! timestamps! end MODEL # options => { :fields => ["title:string", "body:string"], :app => 'app' } def create_model_file(name, options={}) model_path = destination_root(options[:app], 'models', "#{name.to_s.underscore}.rb") field_tuples = options[:fields].map { |value| value.split(":") } column_declarations = field_tuples.map { |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
Version data entries
3 entries across 3 versions & 1 rubygems