2017-02-23 02:48:08 +00:00
|
|
|
import 'generator.dart';
|
|
|
|
import 'package:code_builder/code_builder.dart';
|
|
|
|
import 'package:inflection/inflection.dart';
|
|
|
|
|
|
|
|
class MongoServiceGenerator extends ServiceGenerator {
|
|
|
|
const MongoServiceGenerator() : super('MongoDB');
|
|
|
|
|
|
|
|
@override
|
|
|
|
void applyToConfigureServer(
|
|
|
|
MethodBuilder configureServer, String name, String lower) {
|
|
|
|
configureServer.addPositional(parameter('db', [new TypeBuilder('Db')]));
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
void applyToLibrary(LibraryBuilder library, String name, String lower) {
|
2017-03-02 03:31:00 +00:00
|
|
|
library.addMember(new ImportBuilder('package:mongo_dart/mongo_dart.dart'));
|
2017-02-23 02:48:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
ExpressionBuilder createInstance(
|
|
|
|
MethodBuilder methodBuilder, String name, String lower) {
|
|
|
|
return new TypeBuilder('MongoService').newInstance([
|
|
|
|
reference('db').invoke('collection', [literal(pluralize(lower))])
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
}
|