Sha256: d7c5ab4d213a15428c8c6abbe61c52cf5d39b498cc7721ec65a0f67b6bade705

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

module Cellect
  module Server
    class API
      module Helpers
        def workflow
          @workflow ||= Workflow[params[:workflow_id]]
        end

        def four_oh_four
          error! 'Not Found', 404
        end

        def selector_params
          {
            limit: param_to_int(:limit, default: 5),
            user_id: param_to_int(:user_id),
            group_id: param_to_int(:group_id)
          }
        end

        def update_params
          {
            subject_id: param_to_int(:subject_id),
            group_id: param_to_int(:group_id),
            priority: param_to_float(:priority)
          }
        end

        def param_to_int(param, default: nil)
          _param_to param, :to_i, default
        end

        def param_to_float(param, default: nil)
          _param_to param, :to_f, default
        end

        def _param_to(param, conversion, default)
          val = params[param] && params[param].send(conversion)
          params[param] && val && val > 0 ? val : default
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cellect-server-1.3.2 lib/cellect/server/api/helpers.rb