コード例 #1
0
ファイル: JekyllManager.java プロジェクト: buyaoshushu/MrHyde
 /**
  * Publishes a previously created draft to the _posts folder.
  *
  * @return the newly created post.
  */
 public Observable<Post> publishDraft(final Draft draft) {
   final String postTitle = postTitleToFilename(draft.getTitle());
   return fileManager
       .getTree()
       // move draft
       .flatMap(
           new Func1<DirNode, Observable<FileNode>>() {
             @Override
             public Observable<FileNode> call(DirNode rootDir) {
               DirNode postsDir = assertDir(rootDir, DIR_POSTS);
               return fileManager.moveFile(draft.getFileNode(), postsDir, postTitle);
             }
           })
       // create post object
       .flatMap(
           new Func1<FileNode, Observable<Post>>() {
             @Override
             public Observable<Post> call(FileNode newNode) {
               return Observable.just(
                   new Post(postTitle, Calendar.getInstance().getTime(), newNode));
             }
           });
 }