Module: Moonrope::EvalHelpers

Included in:
EvalEnvironment
Defined in:
lib/moonrope/eval_helpers.rb

Instance Method Summary collapse

Instance Method Details

#error(type, message) ⇒ Object

Raise an error.

Parameters:

  • type (Symbol)

    the type of error to raise

  • message (String, Hash or Array)

    options to pass with the error (usually a message)



10
11
12
13
14
15
16
17
18
19
# File 'lib/moonrope/eval_helpers.rb', line 10

def error(type, message)
  case type
  when :not_found           then raise(Moonrope::Errors::NotFound, message)
  when :access_denied       then raise(Moonrope::Errors::AccessDenied, message)
  when :validation_error    then raise(Moonrope::Errors::ValidationError, message)
  when :parameter_error     then raise(Moonrope::Errors::ParameterError, message)
  else
    raise Moonrope::Errors::RequestError, message
  end
end

#paginate(collection, max_per_page = 60, &block) ⇒ Object

Return paginated information



24
25
26
27
28
29
30
31
32
# File 'lib/moonrope/eval_helpers.rb', line 24

def paginate(collection, max_per_page = 60, &block)
  per_page = params.per_page || 30
  per_page = max_per_page if per_page < 1 || per_page > max_per_page
  paginated_results = collection.page(params.page).per(per_page)
  set_flag :paginated, {:page => params.page, :per_page => per_page, :total_pages => paginated_results.total_pages, :total_records => paginated_results.total_count}
  paginated_results.to_a.map do |result|
    block.call(result)
  end
end