Sha256: 2c31dd73af03e8181f66024d7968d135e80355de7681a1cea4024f423daf805b

Contents?: true

Size: 746 Bytes

Versions: 12

Compression:

Stored size: 746 Bytes

Contents

require 'deas/runner'

module Deas

  class DeasRunner < Runner

    def initialize(handler_class, args = nil)
      a = args || {}
      runner_args = a.merge(:params => NormalizedParams.new(a[:params]).value)
      super(handler_class, runner_args)
    end

    def run
      run_callbacks self.handler_class.before_callbacks
      self.handler.init
      response_data = self.handler.run
      run_callbacks self.handler_class.after_callbacks
      response_data
    end

    private

    def run_callbacks(callbacks)
      callbacks.each{|proc| self.handler.instance_eval(&proc) }
    end

    class NormalizedParams < Deas::Runner::NormalizedParams
      def file_type?(value)
        value.kind_of?(::Tempfile)
      end
    end

  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
deas-0.38.0 lib/deas/deas_runner.rb
deas-0.37.1 lib/deas/deas_runner.rb
deas-0.37.0 lib/deas/deas_runner.rb
deas-0.36.0 lib/deas/deas_runner.rb
deas-0.35.0 lib/deas/deas_runner.rb
deas-0.34.0 lib/deas/deas_runner.rb
deas-0.33.0 lib/deas/deas_runner.rb
deas-0.32.0 lib/deas/deas_runner.rb
deas-0.31.0 lib/deas/deas_runner.rb
deas-0.29.0 lib/deas/deas_runner.rb
deas-0.28.0 lib/deas/deas_runner.rb
deas-0.27.0 lib/deas/deas_runner.rb