Sha256: cfe72a17cc91395e03de1556e388290104a1027a9c02781d88dac89a33a78eb8

Contents?: true

Size: 1.11 KB

Versions: 12

Compression:

Stored size: 1.11 KB

Contents

module Cellect
  module Server
    class API
      module Helpers
        def workflow
          @workflow ||= Workflow[params[:workflow_id]]
        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].try conversion
          params[param] && val && val > 0 ? val : default
        end
        
        def to_query(hash)
          hash.select{ |k, v| v }.collect{ |k, v| "#{ k }=#{ v }" }.join '&'
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
cellect-server-0.1.2.pre.jruby lib/cellect/server/api/helpers.rb
cellect-server-0.1.2 lib/cellect/server/api/helpers.rb
cellect-server-0.1.1 lib/cellect/server/api/helpers.rb
cellect-server-0.1.0 lib/cellect/server/api/helpers.rb
cellect-server-0.0.9 lib/cellect/server/api/helpers.rb
cellect-server-0.0.8 lib/cellect/server/api/helpers.rb
cellect-server-0.0.7 lib/cellect/server/api/helpers.rb
cellect-server-0.0.6 lib/cellect/server/api/helpers.rb
cellect-server-0.0.5 lib/cellect/server/api/helpers.rb
cellect-server-0.0.4 lib/cellect/server/api/helpers.rb
cellect-server-0.0.3 lib/cellect/server/api/helpers.rb
cellect-server-0.0.2 lib/cellect/server/api/helpers.rb