'use strict';

var changed = require('gulp-changed');
var clone = require('gulp-clone');
var filter = require('gulp-filter');
var gm = require('gulp-gm');
var gulp = require('gulp');
var imagemin = require('gulp-imagemin');
var path = require('path');
var plumber = require('gulp-plumber');
var rename = require('gulp-rename');
var rump = require('rump');
var util = require('gulp-util');

gulp.task('rump:build:images', function() {
  var cloneSink = clone.sink();
  var retinaFilter = filter(['**/*@2x.*']);
  var source = path.join(rump.configs.main.paths.source.root,
                         rump.configs.main.paths.source.images,
                         rump.configs.main.globs.build.images);
  var destination = path.join(rump.configs.main.paths.destination.root,
                              rump.configs.main.paths.destination.images);
  var production = rump.configs.main.environment === 'production';

  return gulp
  .src([source].concat(rump.configs.main.globs.global))
  .pipe((rump.configs.watch ? plumber : util.noop)())
  .pipe((rump.configs.watch ? changed : util.noop)(destination))
  .pipe(retinaFilter)
  .pipe(cloneSink)
  .pipe(gm(function(gmfile, done) {
    gmfile.size(function(err, size) {
      done(null, gmfile.resize(Math.ceil(size.width * 0.5),
                               Math.ceil(size.height * 0.5)));
    });
  }))
  .pipe(rename(function(path) {
    path.basename = path.basename.replace(/@2x$/, '');
  }))
  .pipe(retinaFilter.restore())
  .pipe(cloneSink.tap())
  .pipe((production ? imagemin : util.noop)())
  .pipe(gulp.dest(destination));
});

gulp.tasks['rump:build'].dep.push('rump:build:images');

@@ -1182,170 +1182,46 @@
     
-gmfile.size(function(err, size) %7B%0A      done(null, gmfile.resize(Math.ceil(size.width * 0.5),%0A                               Math.ceil(size.height * 0.5)));%0A    %7D
+done(null, gmfile.resize('50%25', '50%25')
 );%0A 

Use 50% param for resize